Tkinter: "Python이 Tk에 대해 구성되지 않았을 수 있습니다."
오늘 저는 Tkinter와 함께 일하기를 원했지만 몇 가지 문제가 있습니다.
Python 3.2 (r32:88445, Mar 28 2011, 04:14:07)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from tkinter import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.2/tkinter/__init__.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
그렇다면 어떻게 Python 3.2를 Tkinter와 함께 작동하도록 구성할 수 있습니까?
Arch에 Arch/Manjaro .tk
:
sudo pacman -S tk
Linux, Windows(WSL/Ubuntu) 및 MacOS용 솔루션
여러 가지 시도를 해본 결과, 다음과 같은 방식으로 작동 방식은 다음과 같습니다.
$ brew install python-tk
를 설치합니다.tk-devel
(또는 비슷한 이름의 패키지) Python을 빌드하기 전에.
기능을 수면려하행이와 하려면 다음과 같이 하십시오.pyenv
Ubuntu 16.04 및 18.04에서는 다음 작업을 수행해야 했습니다.
$ sudo apt-get install python-tk python3-tk tk-dev
그런 다음 내가 원하는 Python 버전을 설치합니다.
$ pyenv install 3.6.2
그러면 tkinter를 잘 가져올 수 있습니다.
import tkinter
http://wiki.python.org/moin/TkInter 에 따르면:
"_tkinter라는 이름의 모듈 없음"으로 실패할 경우 이 모듈(C에서 구현된 확장 모듈)을 포함하도록 Python 구성을 수정해야 합니다.모듈/설정을 편집하지 마십시오(최신 버전이 아님).Tcl 및 Tk를 설치하거나(RPM을 사용하는 경우 -devel RPM도 설치), 또는 Tcl/Tk가 설치된 올바른 위치를 가리키도록 setup.py 스크립트를 편집해야 할 수도 있습니다.기본 위치에 Tcl/Tk를 설치하는 경우 "make"를 다시 실행하면 _tkinter 확장자가 만들어집니다.
그래서 많은 사람들이 (나를 포함해서) 이 문제를 가지고 있었던 것으로 보이며, 저는 파이썬이 컴파일되었을 때 Tkinter가 제 시스템에 설치되지 않았다는 것을 발견했습니다.
이 게시물은 다음을 통해 문제를 해결하는 방법을 설명합니다.
- 가상 환경/파이썬 배포 제거
- 를 Tkinter와 함께 합니다.
sudo apt-get install tk-dev
) (데브용) 또는.sudo pacman -S tk
치만/자로용아) - 그런 다음 python 컴파일을 다시 진행합니다.
이것은 저에게 놀라운 효과가 있었습니다.
저도 비슷한 문제에 직면했습니다.는 를설하여해다니습을 하여 해결했습니다.python-tk
내 생각에는.
mac :brew install python-tk
.
페도라에서 파이썬 2.7과 같은 문제가 발생했습니다.몇 가지 추가 패키지가 필요한 것으로 나타났습니다.
sudo dnf install tk-devel tkinter
패키지를 설치한 후 다음 hello-world 예제는 Python 2.7에서 잘 작동하는 것 같습니다.
$ cat hello.py
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
$ python --version
Python 2.7.8
$ python hello.py
X11 포워딩을 통해 다음과 같이 구현됩니다.
Python 3에서는 모듈 이름이 소문자이고 다른 패키지가 필요할 수 있습니다.
from tkinter import *
저는 아직 논평할 수 없기 때문에, 다른 게시물에 대한 제 대답은 다음과 같습니다.
저는 여전히 파이썬 3.9를 사용하고 있기 때문에, 이 코드는 저에게 적합합니다.
brew install python-tk@3.9
사용하는 경우에는brew install python-tk
는 키 합니다.
오 저는 방금 이그나시오 바스케스-아브람스가 제안한 솔루션을 따랐습니다. 이 솔루션은 파이썬을 구축하기 전에 tk-dev를 설치하는 것입니다. (Ubuntu 16.04의 소스에서 파이썬-3.6.1 구축)
어제 빌드한 사전 컴파일된 개체와 바이너리가 있었지만, 개체를 정리하지 않고 동일한 빌드 경로에서 다시 빌드했습니다.그리고 그것은 아름답게 작동합니다.
sudo apt install tk-dev
(On the python build path)
(No need to conduct 'make clean')
./configure
make
sudo make install
바로 그거야!
sudo apt-get install python3-tk
2python 2.7.에서 이 했습니다.
tcl을 하고 다시 구성하는 tktktcl의 경로는 다음과 같습니다.
./configure --with-tcltk-includes="-I/usr/include" --with-tcltk-libs="-L/usr/lib64 -ltcl8.5 -L/usr/lib64 -ltk8.5"
또한 Python 설치 프로세스에 대한 전체 기사:소스에서 Python 구축
Tkinter 설치 중
python -m pip install tk-tools
또는
sudo apt install python3-tk
코드
from tkinter import *
root = Tk()
root.title('My App')
# Code
root.mainloop()
이제 우분투에서 무슨 일이 일어나고 있는지 알아냈습니다.
다음 단계에 따라 문제를 해결합니다.
- 버전
python3 --version
- 당신이 파이썬 3.10을 가지고 있다고 상상해 봅시다.
- 그런 다음 bellow 명령을 사용하여 python 버전용 Python-tk를 설치합니다.
sudo apt install python3.10-tk
하고 python3가 있습니다.8을 사용하면 간단합니다.sudo apt install python{"use your python version here"}-tk
이에 대한 가장 완전한 답변은 다음과 같은 수용된 답변이라고 생각합니다.
Ubuntu의 기본 Python 2.7 설치로 Tkinter를 작동시키는 방법은 무엇입니까?
저는 이 문제에 너무 많은 시간을 들인 후에 그것을 알게 되었고, 그래서 제가 다른 사람의 번거로움을 덜어줄 수 있기를 바랍니다.
저는 제가 가지고 있는 정확한 문제를 언급한 이 오래된 버그 보고서가 유효하지 않다고 생각되는 것을 발견했습니다. 저는 Tkinter.py 를 가지고 있었지만 _buginter: http://bugs.python.org/issue8555 모듈을 찾을 수 없었습니다.
tk-dev 패키지를 apt-get과 함께 설치하고, Python 2.7.3 디렉터리에 ./configure, make, make install을 사용하여 Python을 재구성했습니다.그리고 이제 내 파이썬 2.7은 Tkinter를 가져올 수 있습니다, yay!
tk-dev 패키지가 Python 설치 설명서에 전혀 언급되지 않은 것이 조금 유감입니다. 아래는 Python에서 누락된 모듈이 _tkinter 이상 누락된 것을 누군가가 발견해야 하는 경우에 유용한 또 다른 리소스입니다.
Windows 및 Windows Subsystem for Linux를 사용하는 모든 사용자에게 명령줄에서 python 명령을 실행할 때 WSL에서 python 설치를 실수로 실행하지 않도록 하십시오!이것은 방금 저에게 꽤 두통을 주었습니다.이에 대해 수행할 수 있는 빠른 확인은 다음과 같습니다.
which <python command you're using>
만약 그것이 다음과 같은 것을 인쇄한다면./usr/bin/python2
비록 당신이 파워셸에 있지만, 그것이 아마도 일어나고 있는 일일 것입니다.
Amazon Linux OS를 실행하는 AWS 인스턴스에서 실행 중인 경우 이 문제를 해결하는 마법 명령은 다음과 같습니다.
sudo yum install tkinter
Linux 빌드를 결정하려면 다음을 수행합니다.cat /etc/*release
이 증상은 최신 버전의 python(예: 2.7.13)이 릴리스 python 버전과 함께 /usr/local/bin에 설치된 후 후속 운영 체제 업그레이드(예: Ubuntu 12.04 --> Ubuntu 14.04)에서 업데이트된 python을 제거하지 못하는 경우에도 발생할 수 있습니다.
그 비호환성을 고치기 위해서는 다음과 같이 해야 합니다.
/usr/local/bin에서 python의 업데이트된 버전을 제거합니다.
python-sys2.7 제거 및
python-sys2.7을 다시 설치합니다.
python-tk, python3-tk를 설치한 후에도 당신의 python이 Tk에 대해 구성되어 있지 않다는 오류가 발생했습니다.
그래서 저는 tk8.6-dev를 추가로 설치한 다음 다시 Python을 빌드하고 make, make install을 다시 실행합니다.
제가 이것을 했을 때 저는 화면에서 _tkinter와 관련 모듈을 구축하고 있다는 메시지를 보았습니다.일단 그것이 끝나면, 저는 'import tkinter'를 시도했고 그것은 효과가 있었습니다.
Manjaro(Arch Linux)를 사용하는 경우 터미널에서 아래 명령을 실행합니다.
sudo pacman -S tk
저의 경우, pyenv가 설치되었지만 저는 그것을 알지 못했습니다.올바른 버전의 설치 후 tkinter 구성을 수정하기 위해 pyenv를 통해 python 버전을 제거하고 다시 설치해야 했습니다.python3.x-tk
.
리눅스에서 https://asdf-vm.com/ 을 사용하여 파이썬을 관리하는 경우:
페도라
$ asdf uninstall python 3.10.10
$ sudo dnf install tk-devel
$ asdf install python 3.10.10
우분투
$ asdf uninstall python 3.10.10
$ sudo apt-get install tk-dev
$ asdf install python 3.10.10
언급URL : https://stackoverflow.com/questions/5459444/tkinter-python-may-not-be-configured-for-tk
'programing' 카테고리의 다른 글
새 Git 분기에 현재 변경 내용 삽입 (0) | 2023.05.21 |
---|---|
고양이를 사용하여 파일의 첫 줄을 읽는 방법은 무엇입니까? (0) | 2023.05.21 |
python에서 base64로 텍스트를 인코딩하는 방법 (0) | 2023.05.21 |
중첩된 Try/Catch 블록은 나쁜 생각입니까? (0) | 2023.05.21 |
스노우 레오파드에서 iOS 5.1 SDK for Xcode 4.2를 구할 수 있습니까? (0) | 2023.05.21 |