En tant qu'ingénieur Python, je voulais être impliqué dans beaucoup de développement à l'avenir, j'ai donc décidé de commencer à développer Python pour la première fois, et sur la base du livre de référence, j'ai décidé de créer une application utilisant le module tkinter. Mais j'obtiens une erreur et la fenêtre ne s'ouvre pas ...
Depuis que j'ai été exposé à Puby et PHP jusqu'à présent, je suis habitué à faire face à des erreurs, j'ai donc décidé de vérifier immédiatement le contenu de l'erreur. Le contenu suivant a été écrit dans une partie de l'instruction d'erreur.
If this fails your Python may not be configured for Tk
Mais IDLE fonctionne comme prévu, mais pourquoi ne fonctionne-t-il pas avec un éditeur de texte?
En d'autres termes, je pensais que ** mon PC (Mac) n'avait pas Tcl / Tk intégré **.
$ ls -al /usr/bin/wish*
$ which wish
$ echo 'puts $tcl_version;exit 0' | wish
$ echo $PATH
Essayez ceci dans le terminal et le résultat de sortie sera ci-dessous!
ChisakinoMacBook-Pro:~ Chisaki$ ls -al /usr/bin/wish*
lrwxr-xr-x 1 root wheel 7 9 21 2018 /usr/bin/wish -> wish8.5
-r-xr-xr-x 1 root wheel 127 8 18 2018 /usr/bin/wish8.5
ChisakinoMacBook-Pro:~ Chisaki$ which wish
/usr/bin/wish
ChisakinoMacBook-Pro:~ Chisaki$ echo 'puts $tcl_version;exit 0' | wish
8.5
ChisakinoMacBook-Pro:~ Chisaki$ echo $PATH
/Users/Chisaki/.pyenv/shims:/Users/Chisaki/.pyenv/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/Users/Chisaki/.pyenv/shims:/Library/Frameworks/Python.framework/Versions/3.8/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/opt/[email protected]/bin:/Users/Chisaki/.rbenv/shims:/usr/local/opt/[email protected]/bin:/usr/local/opt/[email protected]/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
À partir du résultat de sortie, j'ai pensé à ** désinstaller récemment Python afin que le dernier tcl / tk soit intégré, puis à l'installer à nouveau **.
$ pyenv uninstall 3.7.6
$ env \
PATH="$(brew --prefix tcl-tk)/bin:$PATH" \
LDFLAGS="-L$(brew --prefix tcl-tk)/lib" \
CPPFLAGS="-I$(brew --prefix tcl-tk)/include" \
PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
CFLAGS="-I$(brew --prefix tcl-tk)/include" \
PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I$(brew --prefix tcl-tk)/include' --with-tcltk-libs='-L$(brew --prefix tcl-tk)/lib -ltcl8.6 -ltk8.6'" \
pyenv install 3.7.6
$ pyenv global 3.7.6
Lorsque je les ai exécutés dans l'ordre du haut, j'ai pu confirmer que cela fonctionne en appelant le module tkinter avec un éditeur de texte ^ _ ^
Recommended Posts