2010-11-24 2 views
1

distutils을 사용하여 프로그램을 컴파일하려하지만 패키지를 설치하기 전에 사용자가 Tkinter를 설치했는지 확인하고 싶습니다.어떻게 distutils와 Tkinter가 필요합니까?

내 Google 검색에서 유용한 정보를 찾지 못했습니다. 어떤 유용한 정보를 얻을 수 있습니까?

덕분에, 웨인

당신은 install에서 상속하는 클래스를 가지고 다음이 작업을 수행 할 수 있습니다

답변

2

:

는 Tkinter를가 python standard library
from distutils.command.install import install 

class Install(install): 
    def run(self): 
     if not check_dependencies(): 
      # Tkinter was not installed, handle this here 
     install.run(self) # proceed with the installation 

def check_dependencies(): 
    try: 
     return __import__('Tkinter') 
    except ImportError: 
     return None 
+0

그리고 네, Tkinter를 표준 라이브러리에 있습니다. – user225312

+0

일부 플랫폼 (Ubuntu)에서는 기본적으로 설치되지 않습니다. –

+0

Wayne, 저는 10.10입니다. 기본적으로 설치됩니다. 또한 stdlib의 일부이기 때문에 파이썬이 있으면 거기에 너무 적합해야합니까? 그것이 stdlib에 언제 포함 되었습니까? 나는 모른다. 어쩌면 그게 문제 일 수있다. 어쨌든 위의 해결 방법으로 충분합니다. – user225312

0

, 그것은 항상이 있어야한다.

+0

sukhbir의 포스트에서 언급했듯이, 우분투에서는 기본적으로 설치되지 않습니다 - 당신은'python-tk' 패키지를 설치해야합니다. 우분투를 설치 한 적어도 * 마지막 * 시간은 아니 었습니다. –

0

불행하게도 Tkinter을 강제로 설치하기위한 표준적인 플랫폼 간 방법은 없습니다. Tkinter은 Python 표준 라이브러리의 일부이므로 Tkinter을 제거하거나 선택적 표준 엔터티로 패키지하는 배포자는 자체 패키지 관리 도구를 사용하여 패키지 작업을 수행하며 일반적으로 특정 명령을 알아야합니다. 각 분포에 대해. 당신이 일반적으로 할 수있는 최선은 대한 시험이며 (Python 3 또는 tkinter) Tkinter가 가져올 수없는 경우 정상적으로 실패, 그래서 뭔가 같은 :

import sys 
try: 
    import Tkinter 
except ImportError: 
    sys.exit("Tkinter not found") 
관련 문제