MAC OSX 10.9.5 - ImportError: No module named tkinter
Bonjour,
J'ai créé une appli python 3.x qui fonctionne sur Windows 10.
Quand je la lance sur Mac, il ne trouve pas le module tkinter.
Quand je démarre IDLE, j'ai le message :
WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.
http://www.python.org/download/mac/tcltk/ for current information.
J'ai donc installé ActiveTcl 8.6.4 trouvé sur :
http://www.activestate.com/activetcl/downloads
Mais après cela, que faut-il faire ?
Y a-t-il une commande à exécuter ?
J'ai aussi consulté cela :
http://stackoverflow.com/questions/1...mac-osx-10-8-2
mais je ne comprends rien
Quand j'exécute dans un terminal :
sudo port install py35-tkinter
il me répond :
sudo: port: command not found
Bref, j'ai un peu de mal à utiliser tkinter avec Python 3.x sur mac
le script ne trouve pas le module
Merci pour cette réponse.
J'ai donc tenté d'importer tkinter et Tkinter depuis IDLE :
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> WARNING: The version of Tcl/Tk (8.5.9) in use may be unstable.
Visit http://www.python.org/download/mac/tcltk/ for current information.
>>> import tkinter
>>> import Tkinter
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
import Tkinter
ImportError: No module named 'Tkinter'
C'est bien tkinter qui est disponible.
C'est donc mon script, qui ne trouve pas le module.
Pourtant, j'ai le même message d'erreur en exécutant mon script depuis le répertoire où se trouve IDLE :?
importer tkinter depuis un sous-module
Oui, certes mais depuis mon script, j'ai un message d'erreur:
$ cd '/Users/pierre-louis/Python/eisenhower/' && '/usr/bin/pythonw' '/Users/pierre-louis/Python/eisenhower/eisenhower.py' && echo Exit status: $? && exit 1
Traceback (most recent call last):
File "/Users/pierre-louis/Python/eisenhower/eisenhower.py", line 9, in <module>
from GUILayout import MVC
File "/Users/pierre-louis/Python/eisenhower/GUILayout/MVC.py", line 7, in <module>
from GUILayout import Texts, DialogBox
File "/Users/pierre-louis/Python/eisenhower/GUILayout/DialogBox.py", line 4, in <module>
import tkinter as tk
ImportError: No module named tkinter
Peut-être est-ce parce que j'appelle import depuis un sous-loue ?
Voici la structure :
`-- Python
|-- eisenhower.py
|-- GUILayout
| |-- __init__.py
| |-- DialogBox.py
Le problème, c'est que j'ai besoin de tkinter dans DialogBox!!
Je n'avais pas ce problème avec Windows 10
python2 lancé par défaut sur OSX
Un dernier post pour marquer la discussion comme résolue :
Sur OSX, lorsqu'un script python est lancé, il est lancé par défaut avec l'interpréteur python2.
Or SO préconise de ne pas lancer python3 par défaut au risque d'empêcher d'autres scripts python2 de s'exécuter :
http://stackoverflow.com/questions/1...to-3-3-on-os-x
La question que je me pose est si OSX a besoin de python2 ?
Dans le doute je lance mes scripts manuellement :
Code:
python3 eisenhower.py
Après c'est tkinter qui bug mais cela fera l'objet d'une autre discussion...