python3.4.2에 대해 tkinter 구성

python3.4.2에 대해 tkinter 구성

최근 최신 python3.X를 설치하는 동안 문제가 발생했습니다. After 의 패키지를
사용하여 설치했습니다 . 모듈 가져오기를 시도했지만 성공하지 못했습니다. Python-3.4.2.tar.xzpython.orgtkinter

출력은 import tkinter다음과 같습니다.

>>> tkinter 가져오기
역추적(가장 최근 호출 마지막):
  파일 "", 첫 번째 줄, in
  파일 "/usr/local/lib/python3.4/tkinter/__init__.py", 38행,
    import _tkinter # 이것이 실패하면 Python이 Tk에 대해 구성되지 않았을 수 있습니다.
ImportError: '_tkinter'라는 모듈이 없습니다.

또한 다음 솔루션을 시도했습니다.

하지만 그들 중 누구도 도와주지 않았습니다.
이러한 해결 방법을 시도하는 동안 다음 오류가 표시되는 경우:

import _tkinter # 이것이 실패하면 Python이 Tk에 대해 구성되지 않았을 수 있습니다.

그러다가 구글링해서 찾아냈어이것.
읽기Tkinter 지원 확인하기섹션이 Step 1실패하여 이 줄에 갇혔습니다.

기본 위치에 Tcl/Tk를 설치하는 경우 간단히 "make"를 다시 실행하면 _tkinter 확장이 빌드됩니다.

위 줄과 관련하여 내 질문은 다음과 같습니다. 명령
을 실행할 make 파일을 어디서 찾을 수 있습니까 make?

그리고 tkinterPython3.4.2가 이를 허용하도록 어떻게 구성합니까?


편집하다:

언급하는 것을 잊었지만 import tkinterUbuntu 14.04.1에서 Python의 기본 설치(Python-3.4.0)에 대해 작동합니다.

답변1

모듈 을 사용하여 소스에서 python3.4.2를 빌드하려면 _tkinter다음 빌드 종속성을 설치해야 합니다.

sudo apt-get install tk8.6-dev

그런 다음 파일이 자동으로 tk/tcl 헤더를 감지하고 모듈을 생성하므로 지원을 make추가하기 위해 다시 실행하기만 하면 됩니다 ._tkintersetup.py

~/Downloads/Python-3.4.2$ make
running build
running build_ext
building '_tkinter' extension
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -DWITH_APPINIT=1 -I/usr/include/tcl8.6 -I/usr/X11/include -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/sylvain/Downloads/Python-3.4.2/Include -I/home/sylvain/Downloads/Python-3.4.2 -c /home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.c -o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.o
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -DWITH_APPINIT=1 -I/usr/include/tcl8.6 -I/usr/X11/include -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/sylvain/Downloads/Python-3.4.2/Include -I/home/sylvain/Downloads/Python-3.4.2 -c /home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.c -o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.o
gcc -pthread -shared build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.o -L/usr/X11/lib -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib -ltk8.6 -ltcl8.6 -lX11 -o build/lib.linux-x86_64-3.4/_tkinter.cpython-34m.so

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_bz2                  _dbm                  _gdbm              
_lzma                 _sqlite3                                 
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
[...]

이제 python3.4.2에서 tkinter를 가져올 수 있습니다:

~/Downloads/Python-3.4.2$ ./python 
Python 3.4.2 (default, Oct 30 2014, 11:34:17) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> 

원래 답변:

python3.4.2가 꼭 필요한 경우가 아니라면 14.04의 기본 python3 버전을 사용하겠습니다(3.4.0)

그런 다음 해야 할 일은 다음 패키지를 설치하는 것뿐입니다.

sudo apt-get install python3-tk tk

그리고 다음과 같이 Python 인터프리터를 시작합니다.

/usr/bin/python3

그렇지 않으면 항상 (3.4.2)에서 설치한 버전을 받게 됩니다 /usr/local.

이제 python3에서 tk 가져오기가 작동합니다.

$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> 

답변2

matplotlib에만 tkinter가 필요한 경우 Egg와 같은 다른 백엔드를 사용할 수도 있습니다. import matplotlib as mpl mpl.use('Agg') import matplotlib.pyplot as plt

자세한 내용보기여기

답변3

sudo apt-get install python3-tk tk  

pyenv install 3.5.0  

그게 다야

답변4

참고로 저는 Ubuntu 16.04를 사용하고 있습니다. 첫 번째 답변에 추가하면 Python 파일에서 다음 작업을 수행합니다(추출 후).

./configure #(there will be a configure file)
make
make test
sudo make install

처음으로 이러한 작업을 수행했지만 여전히 다음 오류가 표시되었습니다.

IDLE can't import Tkinter.  Your Python may not be configured for Tk.

python3 -m idlelib.idlecmd에서 실행하는 동안 .

그래서 나는 이렇게 했습니다:

sudo apt-get install tk-dev

아니면 당신이 할 수 있습니다

sudo apt-get install tk8.6-dev

그럼 또

./configure
make
make test
sudo make install

다음에 를 실행할 때 python3 -m idlelib.idleIDLE이 열리면서 문제가 해결되었습니다.

관련 정보