Als Python-Ingenieur wollte ich in Zukunft viel an der Entwicklung beteiligt sein, deshalb habe ich mich entschlossen, Python zum ersten Mal zu entwickeln, und basierend auf dem Nachschlagewerk habe ich beschlossen, eine Anwendung mit dem tkinter-Modul zu erstellen. Aber ich bekomme eine Fehlermeldung und das Fenster öffnet sich nicht ...
Da ich bisher mit Puby und PHP in Berührung gekommen bin, bin ich an Fehler gewöhnt. Daher habe ich beschlossen, den Inhalt des Fehlers sofort zu überprüfen. Der folgende Inhalt wurde in einen Teil der Fehlererklärung geschrieben.
If this fails your Python may not be configured for Tk
Aber IDLE funktioniert wie erwartet, aber warum funktioniert es nicht mit einem Texteditor?
Mit anderen Worten, ich dachte, dass ** auf meinem PC (Mac) kein Tcl / Tk eingebaut ist **.
$ ls -al /usr/bin/wish*
$ which wish
$ echo 'puts $tcl_version;exit 0' | wish
$ echo $PATH
Versuchen Sie dies im Terminal und das Ausgabeergebnis wird unten sein!
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
Aufgrund des Ausgabeergebnisses habe ich darüber nachgedacht, Python neu zu deinstallieren, damit das neueste tcl / tk integriert ist, und es dann erneut zu installieren.
$ 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
Als ich diese in der Reihenfolge von oben ausführte, konnte ich bestätigen, dass es funktioniert, indem ich das tkinter-Modul mit einem Texteditor ^ _ ^ aufrief
Recommended Posts