Heute wollte ich mit Tkinter arbeiten, aber ich habe einige Probleme.
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
Wie kann ich mein Python 3.2 für die Arbeit mit Tkinter konfigurieren?
python
python-3.x
tkinter
Maciej Ziarko
quelle
quelle
Antworten:
Laut http://wiki.python.org/moin/TkInter :
quelle
tk
. Es wurde nur von verwendetmatplotlib
und kann umrundet werden: stackoverflow.com/a/4935945/1959808Installieren Sie unter Arch / Manjaro einfach das Paket
tk
:quelle
ImportError: libtk8.6.so: cannot open shared object file: No such file or directory
.Installieren Sie
tk-devel
(oder ein Paket mit ähnlichem Namen), bevor Sie Python erstellen.quelle
ImportError: No module named _tkinter
wann ich versuche, tkinter zu importieren. Ich verwende python3.4.0, das aus der Quelle unter Ubuntu 13.10 kompiliert wurde.tk-devel
? Sie sollten zumindest eine minimale Erklärung geben, warum dies in diesem Fall nützlich sein sollte.Damit dies unter
pyenv
Ubuntu 16.04 und 18.04 funktioniert , musste ich:Installieren Sie dann die gewünschte Version von Python:
$ pyenv install 3.6.2
Dann könnte ich tkinter ganz gut importieren:
import tkinter
quelle
Hatte das gleiche Problem auf Fedora mit Python 2.7. Es stellt sich heraus, dass einige zusätzliche Pakete erforderlich sind:
Nach der Installation der Pakete scheint dieses Hallo-Welt- Beispiel unter Python 2.7 einwandfrei zu funktionieren:
$ 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
Und durch X11-Weiterleitung sieht es so aus:
Beachten Sie, dass in Python 3 der Modulname in Kleinbuchstaben geschrieben ist und wahrscheinlich andere Pakete erforderlich sind ...
from tkinter import *
quelle
Oh, ich bin gerade der Lösung gefolgt, die Ignacio Vazquez-Abrams vorgeschlagen hat, tk-dev zu installieren, bevor die Python erstellt wird. (Erstellen des Python-3.6.1 aus dem Quellcode unter Ubuntu 16.04.)
Es gab vorkompilierte Objekte und Binärdateien, die ich gestern erstellt habe. Ich habe die Objekte jedoch nicht bereinigt und nur erneut auf demselben Erstellungspfad erstellt. Und es funktioniert wunderbar.
sudo apt install tk-dev (On the python build path) (No need to conduct 'make clean') ./configure make sudo make install
Das ist es!
quelle
Ich bin auf dieses Problem in Python 2.7.9 gestoßen.
Um dies zu beheben, habe ich tk und tcl installiert, dann Python-Code neu erstellt und neu installiert. Während der Konfiguration habe ich den Pfad für tk und tcl explizit festgelegt, indem ich:
./configure --with-tcltk-includes="-I/usr/include" --with-tcltk-libs="-L/usr/lib64 -ltcl8.5 -L/usr/lib64 -ltk8.5"
Außerdem ein ganzer Artikel zum Python-Installationsprozess: Erstellen von Python aus dem Quellcode
quelle
Ich denke, die vollständigste Antwort darauf ist die hier gefundene akzeptierte Antwort:
Wie kann ich tkinter mit Ubuntus Standard-Python 2.7-Installation zum Laufen bringen?
quelle
quelle
Stellen Sie für alle Benutzer von Windows und Windows Subsystem für Linux sicher, dass beim Ausführen des Python-Befehls über die Befehlszeile die Python-Installation nicht versehentlich über die WSL ausgeführt wird! Das bereitete mir gerade Kopfschmerzen. Eine schnelle Überprüfung, die Sie dafür durchführen können, lautet:
which <python command you're using>
Wenn das so etwas wie druckt,
/usr/bin/python2
obwohl Sie sich in Powershell befinden, ist das wahrscheinlich der Fall.quelle
Anscheinend hatten viele dieses Problem (ich eingeschlossen) und ich fand den Fehler darin, dass Tkinter beim Kompilieren von Python nicht auf meinem System installiert war.
Dieser Beitrag beschreibt, wie Sie das Problem lösen können, indem Sie:
sudo apt-get install tk-dev
(für deb) odersudo pacman -S tk
(für arch / manjaro)Das hat Wunder für mich gewirkt.
quelle
Dieses Symptom kann auch auftreten, wenn eine spätere Version von Python (z. B. 2.7.13) in / usr / local / bin "neben" der Release-Python-Version installiert wurde und anschließend ein Betriebssystem-Upgrade (z. B. Ubuntu 12.04) durchgeführt wird -> Ubuntu 14.04) kann die aktualisierte Python dort nicht entfernen.
Um diese Unverträglichkeit zu beheben, muss man
a) Entfernen Sie die aktualisierte Version von Python in / usr / local / bin.
b) deinstalliere python-idle2.7; und
c) Installieren Sie python-idle2.7 neu.
quelle
Wenn Sie auf einer AWS-Instanz ausgeführt werden, auf der Amazon Linux ausgeführt wird, lautete der magische Befehl, um dies für mich zu beheben
Wenn Sie Ihren Linux-Build bestimmen möchten, versuchen Sie es
cat /etc/*release
quelle
Selbst nach der Installation von python-tk, python3-tk wurde eine Fehlermeldung angezeigt, dass Ihr Python nicht für Tk konfiguriert ist.
Also habe ich zusätzlich tk8.6-dev installiert. Dann baue ich meinen Python erneut und führe Folgendes aus: make, make install.
Als ich dies tat, sah ich Meldungen auf dem Bildschirm, dass _tkinter und verwandte Module erstellt werden. Sobald das erledigt ist, habe ich 'import tkinter' versucht und es hat funktioniert.
quelle
Sie müssen tkinter für python3 installieren.
Bei Fedora
pip3 install tkinter --user
kehrt zurückCould not find a version that satisfies the requirement
... also muss ich befehlen :dnf install python3-tkinter
. Dies hat mein Problem gelöstquelle