J'ai récemment rencontré un problème lors de l'installation du dernier fichier python3.X.
L’a installé à l’aide du paquet Python-3.4.2.tar.xz
de python.org
Après, l’installation a tenté d’importer le module tkinter
mais j’ai échoué.
Le résultat de import tkinter
était:
>>> import tkinter Traceback (dernier appel passé): Fichier "", ligne 1, dans Fichier "/ usr/local/lib/python3.4/tkinter/__ init__.py ", ligne 38, dans import_tkinter # Si cela échoue, votre Python risque de ne pas être configuré pour Tk ImportError: aucun module nommé '_tkinter'
J'ai aussi essayé les solutions suivantes:
mais aucun d'entre eux n'a aidé.
En essayant ces solutions, s’il est remarqué que l’erreur dit:
import _tkinter # Si cela échoue, votre Python peut ne pas être configuré pour Tk
alors j'ai googlé à ce sujet et trouvé ceci .
Lecture de la section Vérification de votre support Tkinter , le Step 1
a échoué et est resté bloqué sur cette ligne
Si vous installez Tcl/Tk dans les emplacements par défaut, il suffit de réexécuter "make" pour créer l’extension _tkinter.
En ce qui concerne la ligne ci-dessus, ma question est la suivante:
Où trouver un fichier make sur lequel exécuter une commande make
?
Et comment puis-je configurer le tkinter
pour que Python3.4.2 l’accepte?
J'ai oublié de mentionner mais import tkinter
fonctionne pour l'installation par défaut (Python-3.4.0) de Python sous Ubuntu 14.04.1.
Pour compiler python3.4.2 à partir de la source avec le module _tkinter
, vous devez installer la dépendance de construction suivante:
Sudo apt-get install tk8.6-dev
Il ne vous reste plus qu'à exécuter de nouveau make
pour ajouter le support _tkinter
car le fichier setup.py
détectera automatiquement les en-têtes tk/tcl et créera le module:
~/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.
[...]
Maintenant, vous pouvez importer tkinter en python3.4.2:
~/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
>>>
Réponse originale:
Sauf si vous avez vraiment besoin de python3.4.2, je voudrais simplement utiliser la version par défaut de python3 le 14.04 ( .4. )
Ensuite, tout ce que vous avez à faire est d’installer les paquets suivants:
Sudo apt-get install python3-tk tk
Et lancez l’interprète python de cette façon:
/usr/bin/python3
Sinon, vous aurez toujours la version que vous avez installée dans /usr/local
(3.4.2).
Importer tk en python3 devrait maintenant fonctionner:
$ 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
>>>
Si vous avez besoin de tkinter uniquement pour matplotlib, vous pouvez également utiliser un backend différent, tel que Egg: import matplotlib en tant que mpl mpl.use ('Agg') import matplotlib.pyplot en tant que plt
Voir plus de détails ici
Sudo apt-get install python3-tk tk
pyenv install 3.5.0
c'est tout
Juste pour que vous sachiez, j'utilise Ubuntu 16.04. En ajoutant à la première réponse, procédez comme suit à partir du fichier python (après extraction):
./configure #(there will be a configure file)
make
make test
Sudo make install
J'avais fait ces choses la première fois, mais c'était toujours en train de me montrer ces erreurs:
IDLE can't import Tkinter. Your Python may not be configured for Tk.
en exécutant python3 -m idlelib.idle
à partir de cmd.
Alors j'ai fait:
Sudo apt-get install tk-dev
ou tu peux faire
Sudo apt-get install tk8.6-dev
puis encore
./configure
make
make test
Sudo make install
Le problème était résolu car, lors de la prochaine exécution de python3 -m idlelib.idle
, le code IDLE était ouvert.