wheezy apt에서 python3-tk를 패키징하려면 python3.2 및 python3 패키지가 필요합니다. 저는 Python 3.4를 원하고 수동으로 빌드했습니다. 문제는 python3-tk 설치를 "확인"하기 위해 수동 3.4 버전을 얻는 방법을 모른다는 것입니다. tkinter를 가져오려고 하면 다음과 같은 결과가 나타납니다.
Traceback (most recent call last):
File "/myscript.py", line 9, in <module>
import tkinter as tk
File "/opt/python3/lib/python3.4/tkinter/__init__.py", line 38, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'
시스템 python3 인터프리터를 시작하고 tkinter를 가져오면 모듈이 로드됩니다. 3.4 매뉴얼 빌드를 /opt/ 디렉토리에 설치했습니다. 적절하게 설치된 tkinter를 어떻게 볼 수 있나요?
답변1
PYTHONPATH
내 생각엔 특히 "apt-get"을 실행하기 전에 환경 변수, 특히 환경 변수를 변경해야 할 것 같습니다 .
하지만 여기에는 더 자세한 내용이 필요합니다. 특히 중요한 것은 의 가치입니다 sys.path
. 그러니 그냥 하세요. 작동 중인 python3 셸을 입력하고 를 실행하세요 import sys; print(sys.path)
. apt-get을 실행하기 전에 PYTHONPATH를 설정하여 해당 값을 인쇄하세요. 예를 들어, 결과가 다음과 같은 경우:
['', '/usr/local/lib/python3.4/dist-packages/pyficache-0.2.6-py3.4.egg']
동등한 것은
PYTHONPATH = ":/usr/local/lib/python3.4/dist-packages/pyficache-0.2.6-py3.4.egg"
export PYTHONPATH
또는
PYTHONPATH=":/usr/local/lib/python3.4/dist-packages/pyficache-0.2.6-py3.4.egg" apt-get install ...
누락된 내용을 찾으려면 38행 앞에 . /opt/python3/lib/python3.4/tkinter/__init__.py
를 추가 import sys; print(sys.path)
하고 유효한 값과 비교하십시오. 특히 올바른 디렉터리를 찾을 수 있어야 합니다.
최후의 수단으로 __init__.py
디렉토리를 추가하기 위해 추가한 인쇄 문을 변경할 수 있지만 시간이 촉박하거나(StackOverflow에 요청하는 경우에는 그렇지 않을 수 있음) 완전히 좌절하고 환경을 설정하는 경우에만 이 작업을 수행합니다. 변수가 작동하지 않습니다.