Ein Memorandum (masOS), das tkinter importiert, konnte nicht mit Python durchgeführt werden, das von pyenv installiert wurde

Vorwort

Dieser Beitrag ist N Schüler, der der zweite Artikelbeitrag sein wird. In diesem Artikel ist der Import von tkinter mit von pyenv installiertem Python nicht zulässig. Daher werde ich eine Problemumgehung schreiben, um dies zu aktivieren. Es ist fast ein Memorandum. .. .. Wie üblich habe ich auf verschiedene Websites verwiesen, daher würde ich mich freuen, wenn Sie das verstehen könnten.

Betriebsumgebung

macOS Mojave(10.14.6) python 3.7.0 pip 20.2.3 Homebrew 2.5.2

Der Anfang davon

Beim Importieren von tkinter mit von pyenv installiertem Python wurde ein Importfehler angezeigt. (Ich habe den Code nicht aufgeschrieben, weil ich nicht erwartet hatte, einen Artikel zu veröffentlichen ...)

Wenn ich nachschaue Kein Modul mit dem Namen "_tkinter" in macOS (Mojave) (pyenv, Python3.x) auflösen Ich habe einen Artikel mit Inhalten gefunden, die diesem Symptom sehr ähnlich sind, daher habe ich vorerst versucht, darauf Bezug zu nehmen.

Versuch und Irrtum zur Lösung

Zunächst scheint es, dass Sie Python deinstallieren müssen, das mit pyenv installiert wurde

Vorbereitung für eine Lösung


#Sichern Sie, was Sie mit pip installiert haben
$ pip freeze > pip.txt
#Deinstallieren
$ pyenv uninstall 3.7.0
#Wenn tcl von Homebrew-Entfernen Sie, wenn tk installiert ist
$ brew uninstall tcl-tk

Wenn Sie soweit bereit sind, als nächstes Installieren wir die 8.5-Serie von der Site ActiveTcl.

Sobald dies installiert ist, installieren Sie Python erneut von pyenv. Ich habe 3.7.0 installiert. Kopieren Sie zu diesem Zeitpunkt die hier im Code geschriebenen Sätze nacheinander und legen Sie sie in das Terminal. (Ich habe zuerst nur den Installationsbefehl eingegeben und es fällt mir schwer)

$ CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \
$ LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \
$ PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \
$ pyenv install 3.7.0
$ pyenv global 3.7.0

Einige Leute können sich hier mit .bash_profile anlegen. (Ich musste mich nicht damit anlegen)

Vorerst gelöst ...?

Hat das das Problem behoben? Ich dachte, ich habe es mit REPL versucht. スクリーンショット 2020-09-24 15.51.44.png

** Kein Fehler! !! !! ** ** ** Jetzt können Sie mit der Entwicklung beginnen! Nachdenken, den nächsten Satz treffen ... Diesmal habe ich einen Laufzeitfehler bekommen ... was zur Hölle ...

Versuch und Irrtum zur Lösung (zweites Mal)

Also habe ich diesmal verschiedene Dinge versucht, um diesen Fehler zu beheben. Dieser github wurde auf jede Site verwiesen, also habe ich ihn einmal gelesen, aber ehrlich gesagt habe ich ihn nicht sehr gut verstanden, weil ich ein Anfänger war. (Wenn Sie verstehen, denke ich, dass dies das Problem lösen kann)

Suchen Sie also nach einer anderen Website, Einstellungen für die Verwendung von tkinter in der Pyenv-Umgebung von macOS Catalina 10.15.1 (Python 3.7.x-Serie) Geschrieben in Japanisch Da die Seite herauskam, ging ich in Bezug darauf vor.

Vorbereitung für eine Lösung(Zweites Mal)


#Vergessen Sie nicht, Ihren Pip zu sichern
$ pyenv uninstall 3.7.0
#brauen zu tcl-Installieren Sie tk
$ brew install tcl-tk

Dann schreiben Sie Python-Build neu. Diese Datei kann jedoch beim Öffnen im Finder nicht gefunden werden. Geben Sie daher den folgenden Befehl in das Terminal ein.

open /usr/local

Dadurch wird der Finder automatisch geöffnet und die Datei angezeigt. Ich habe von hier aus nach Python-Build gesucht.

Speicherort des Python-Builds

(In meiner Umgebung) /Cellar/pyenv/plugins/python-build/bin/python-guild Um die Linie 770

$CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 1

In der Spalte steht

$CONFIGURE_OPTS --with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6' ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 1

Ersetzen mit. Danach installieren Sie Python erneut.

$ pyenv install 3.7.0

Versuchen wir es jetzt noch einmal mit REPL.

** Diesmal geheilt! ** ** ** Diesmal habe ich keine Fehler erhalten, und ich habe keine Fehler erhalten, als ich die Datei ausgeführt habe. Damit war ein Fall erledigt. Auch diesmal war es ziemlich schwierig. Ich werde es schreiben, wenn ich die Gelegenheit habe, einen Artikel zu schreiben.

Recommended Posts

Ein Memorandum (masOS), das tkinter importiert, konnte nicht mit Python durchgeführt werden, das von pyenv installiert wurde
Tkinter konnte nicht in Python importiert werden
Stellen Sie OpenCV3 in Python3 zur Verfügung, das mit pyenv installiert wurde
Importieren Sie Bibliotheken, die mit PyCharm nicht per Pip installiert werden können
Installieren Sie das neueste Python von pyenv, das von Homebrew installiert wurde
Ein Mechanismus zum Aufrufen von Ruby-Methoden aus Python, der in 200 Zeilen ausgeführt werden kann
Ein Memo, das mit Python & Spark Daten aus dashDB liest
Mir wurde gesagt, dass ich XML_SetHashSalt nicht finden konnte, als ich versuchte, pip mit Python zu verwenden.
[Python] Erstellen Sie ein Diagramm, das mit Plotly verschoben werden kann
tkinter konnte nicht mit Python verwendet werden, das von pyenv of anyenv installiert wurde
Erstellen Sie eine Spinbox, die mit Tkinter in Binär angezeigt werden kann
Ich habe ein Shuffle gemacht, das mit Python zurückgesetzt (zurückgesetzt) werden kann
Erstellen Sie eine Spinbox, die mit Tkinter in HEX angezeigt werden kann
TensorFlow 2.2 kann nicht mit Python 3.8 installiert werden!
Ein Hinweis, mit dem Sie die Python-Umgebung von Pineapple mit pyenv ändern können
Extrahieren Sie mit Python Zeilen, die den Bedingungen entsprechen, aus einer Textdatei
Maßnahmen, um SSL nicht mit Pycharm installieren oder importieren zu können
[Python] Ein Programm, das Treppen mit # erstellt
Installieren Sie Python als Framework mit pyenv
Verwenden Sie Anaconda-Python, das mit pyenv von openFrameworks installiert wurde
Eine typisierte Welt, die mit Python beginnt
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie mit tkinter [Python] einen Rahmen mit transparentem Hintergrund.
[Python] Ein Tool, das einen intuitiven relativen Import ermöglicht
[Python / Tkinter] Eine Klasse, die einen scrollbaren Frame erstellt
Ein Memorandum zum Aufrufen von Python aus Common Lisp
Erstellen Sie eine Seite, die unbegrenzt mit Python geladen wird
[Python] Ich habe mit Tkinter einen Youtube Downloader erstellt.
"Python Kit", das Python-Skripte von Swift aufruft
Wie man tkinter mit Python in Pyenv benutzt
Lesen Sie mit Python Zeile für Zeile aus der Datei
PIL kann nicht von virtualenv mit pyenv installiert werden
Extrahieren Sie mit Python Daten von einer Webseite
Konvertieren Sie Bilder aus dem FlyCapture SDK in ein Formular, das mit openCV verwendet werden kann
Wenn der Import von tkinter unter Mac OS X 10.11.3 (El Capitan) + pyenv + Python 3.5.1 nicht möglich ist.
Ich möchte Leuten sagen, die mit Python direnv aus einem höheren Verzeichnis importieren möchten
Das Problem, dass MacVim, das von Homebrew installiert wurde, nicht von Python of Pyenv erstellt wurde, wurde behoben