tkinter für Python3.4.2 konfigurieren

tkinter für Python3.4.2 konfigurieren

Ich hatte kürzlich ein Problem bei der Installation des neuesten Python3.X. Ich
habe es mit dem Python-3.4.2.tar.xzPaket von python.org After installiert. Nach der Installation habe ich versucht, das tkinterModul zu importieren, aber es hat nicht geklappt.

Die Ausgabe import tkinterwar:

>>> 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 1fehlschlug 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 makeBefehls?

Und wie konfiguriere ich es, tkinterdamit Python3.4.2 es akzeptiert?


BEARBEITEN:

Ich habe vergessen zu erwähnen, aber import tkinteres funktioniert für die Standardinstallation (Python-3.4.0) von Python in Ubuntu 14.04.1

Antwort1

Um Python3.4.2 mit dem _tkinterModul 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 makehinzuzufügen , da die Datei die tk/tcl-Header automatisch erkennt und das Modul erstellt:_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.
[...]

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.idlevon 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.idleder IDLE-Vorgang geöffnet wurde.

verwandte Informationen