Ich hatte kürzlich ein Problem bei der Installation des neuesten Python3.X. Ich
habe es mit dem Python-3.4.2.tar.xz
Paket von python.org
After installiert. Nach der Installation habe ich versucht, das tkinter
Modul zu importieren, aber es hat nicht geklappt.
Die Ausgabe import tkinter
war:
>>> tkinter importieren Traceback (letzter Anruf zuletzt): Datei "", Zeile 1, in Datei "/usr/local/lib/python3.4/tkinter/__init__.py", Zeile 38, in import _tkinter # Wenn dies fehlschlägt, ist Ihr Python möglicherweise nicht für Tk konfiguriert ImportError: Kein Modul mit dem Namen „_tkinter“
Ich habe auch folgende Lösungen ausprobiert:
aber nichts davon hat geholfen.
Wenn Sie diese Lösungen ausprobieren, bemerken Sie, dass der Fehler lautet:
import _tkinter # Wenn dies fehlschlägt, ist Ihr Python möglicherweise nicht für Tk konfiguriert
dann habe ich danach gegoogelt und gefundenDas
Lesen derÜberprüfen Ihrer Tkinter-UnterstützungAbschnitt, der Step 1
fehlschlug und in dieser Zeile stecken blieb
Wenn Sie Tcl/Tk an den Standardspeicherorten installieren, sollte die Erweiterung _tkinter einfach erneut von „make“ erstellt werden.
In Bezug auf die obige Zeile lautet meine Frage:
Wo finde ich eine Make-Datei zum Ausführen eines make
Befehls?
Und wie konfiguriere ich es, tkinter
damit Python3.4.2 es akzeptiert?
BEARBEITEN:
Ich habe vergessen zu erwähnen, aber import tkinter
es funktioniert für die Standardinstallation (Python-3.4.0) von Python in Ubuntu 14.04.1
Antwort1
Um Python3.4.2 mit dem _tkinter
Modul aus dem Quellcode zu erstellen, müssen Sie die folgende Build-Abhängigkeit installieren:
sudo apt-get install tk8.6-dev
Anschließend müssen Sie es nur noch erneut ausführen, um Unterstützung make
hinzuzufügen , da die Datei die tk/tcl-Header automatisch erkennt und das Modul erstellt:_tkinter
setup.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.
[...]
Jetzt können Sie tkinter in Python3.4.2 importieren:
~/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
>>>
Ursprüngliche Antwort:
Sofern Sie nicht unbedingt Python3.4.2 benötigen, würde ich einfach die Standardversion von Python3 unter 14.04 verwenden (3.4.0)
Dann müssen Sie nur noch die folgenden Pakete installieren:
sudo apt-get install python3-tk tk
Und starten Sie den Python-Interpreter folgendermaßen:
/usr/bin/python3
Andernfalls erhalten Sie immer die Version, die Sie installiert haben /usr/local
(3.4.2).
Das Importieren von tk in Python3 sollte jetzt funktionieren:
$ 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
>>>
Antwort2
Wenn Sie tkinter nur für matplotlib benötigen, können Sie auch ein anderes Backend verwenden, z. B. Egg: import matplotlib as mpl mpl.use('Agg') import matplotlib.pyplot as plt
Mehr Details anzeigenHier
Antwort3
sudo apt-get install python3-tk tk
pyenv install 3.5.0
das ist es
Antwort4
Nur damit Sie es wissen, ich verwende Ubuntu 16.04. Ergänzen Sie die erste Antwort und führen Sie diese Schritte aus der Python-Datei aus (nach der Extraktion):
./configure #(there will be a configure file)
make
make test
sudo make install
Ich hatte diese Dinge beim ersten Mal getan, aber mir wurden trotzdem diese Fehler angezeigt:
IDLE can't import Tkinter. Your Python may not be configured for Tk.
während der Ausführung python3 -m idlelib.idle
von cmd.
So tat ich:
sudo apt-get install tk-dev
oder du kannst
sudo apt-get install tk8.6-dev
dann wieder
./configure
make
make test
sudo make install
Dies löste das Problem, da beim nächsten Ausführen
python3 -m idlelib.idle
der IDLE-Vorgang geöffnet wurde.