Un mémorandum (masOS) qui importe tkinter n'a pas pu être fait avec python installé à partir de pyenv

Préface

Cet article est un élève du secondaire qui sera le deuxième article. Dans cet article, je n'ai pas pu importer tkinter avec python installé à partir de pyenv, je vais donc écrire une solution de contournement pour l'activer. C'est presque un mémorandum. .. .. Comme d'habitude, j'ai fait référence à divers sites, alors j'apprécierais que vous compreniez cela.

Environnement d'exploitation

macOS Mojave(10.14.6) python 3.7.0 pip 20.2.3 Homebrew 2.5.2

Le début de ça

Lorsque j'ai importé tkinter avec python installé à partir de pyenv, j'ai eu une erreur d'importation. (Je n'ai pas écrit le code car je ne m'attendais pas à publier un article ...)

Quand je regarde Résoudre aucun module nommé «_tkinter» dans macOS (Mojave) (pyenv, Python3.x) J'ai trouvé un article avec un contenu très similaire à ce symptôme, alors j'ai essayé de continuer en faisant référence à cela pour le moment.

Essai et erreur pour la solution

Tout d'abord, il semble que vous deviez désinstaller python installé avec pyenv

Se préparer à une solution


#Sauvegardez ce que vous avez installé avec pip
$ pip freeze > pip.txt
#Désinstaller
$ pyenv uninstall 3.7.0
#Si tcl de Homebrew-Supprimer si tk est installé
$ brew uninstall tcl-tk

Quand tu es prêt si loin, ensuite Installons la série 8.5 à partir du site appelé ActiveTcl.

Une fois que cela est installé, réinstallez python à partir de pyenv. J'ai installé 3.7.0. À ce stade, copiez les phrases écrites dans le code ici une par une et mettez-les dans le terminal. (Je n'ai mis la commande d'installation qu'au début, et j'ai du mal)

$ 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

Certaines personnes peuvent jouer avec .bash_profile ici. (Je n'ai pas eu à jouer avec ça)

Résolu pour le moment ...?

Est-ce que cela a résolu le problème? J'ai pensé, je l'ai essayé avec REPL. スクリーンショット 2020-09-24 15.51.44.png

** Pas d'erreur! !! !! ** ** Vous pouvez maintenant commencer à développer! Penser à cela, frapper la phrase suivante ... Cette fois, j'ai eu une erreur d'exécution ... quel enfer ...

Essai et erreur pour la solution (deuxième fois)

Donc, cette fois, j'ai essayé différentes choses pour résoudre cette erreur. Ce github a été renvoyé à tous les sites, donc je l'ai lu une fois, mais honnêtement, je ne l'ai pas très bien compris car j'étais un débutant. (Si vous comprenez, je pense que cela peut le résoudre)

Alors cherchez un autre site, Paramètres d'utilisation de tkinter dans l'environnement pyenv de macOS Catalina 10.15.1 (série python 3.7.x) Écrit en japonais Depuis la sortie du site, j'ai procédé en faisant référence à cela.

Se préparer à une solution(Deuxième fois)


#N'oubliez pas de sauvegarder votre pip
$ pyenv uninstall 3.7.0
#brasser à tcl-Installez tk
$ brew install tcl-tk

Puis réécrivez python-build. Cependant, ce fichier est introuvable lorsqu'il est ouvert dans le Finder, alors entrez la commande suivante dans le terminal.

open /usr/local

Cela ouvrira automatiquement le Finder et affichera le fichier. J'ai cherché python-build à partir d'ici.

Emplacement de python-build

(Dans mon environnement) /Cellar/pyenv/plugins/python-build/bin/python-guild Vers la ligne 770

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

Dans la colonne qui dit

$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

Remplacer par. Après cela, réinstallez python.

$ pyenv install 3.7.0

Maintenant, essayons à nouveau avec REPL.

** Guéri cette fois! ** ** Je n'ai eu aucune erreur cette fois, et je n'ai eu aucune erreur lorsque j'ai exécuté le fichier. Cela a réglé un cas. C'était aussi assez difficile cette fois. Je l'écrirai si j'ai l'occasion d'écrire un article.

Recommended Posts

Un mémorandum (masOS) qui importe tkinter n'a pas pu être fait avec python installé à partir de pyenv
Tkinter n'a pas pu être importé en Python
Rendre OpenCV3 disponible à partir de python3 installé avec pyenv
Importer des bibliothèques qui ne peuvent pas être installées par pip avec PyCharm
Installez le dernier Python de pyenv installé par homebrew
Un mécanisme pour appeler des méthodes Ruby à partir de Python qui peut être fait en 200 lignes
Un mémo qui lit les données de dashDB avec Python et Spark
On m'a dit que je ne pouvais pas trouver XML_SetHashSalt lorsque j'ai essayé d'utiliser pip avec python.
[Python] Créez un graphique qui peut être déplacé avec Plotly
tkinter n'a pas pu être utilisé avec python installé par pyenv de anyenv
Créez une Spinbox qui peut être affichée en binaire avec Tkinter
J'ai fait un shuffle qui peut être réinitialisé (inversé) avec Python
Créez une Spinbox pouvant être affichée dans HEX avec Tkinter
TensorFlow 2.2 ne peut pas être installé avec Python 3.8!
Notez que l'environnement Python de Pineapple peut être modifié avec pyenv
Extraire les lignes qui correspondent aux conditions d'un fichier texte avec python
Mesures pour ne pas être en mesure d'installer ou d'importer ssl avec pycharm
[Python] Un programme qui crée des escaliers avec #
Installer Python en tant que Framework avec pyenv
Utiliser Anaconda-Python installé avec pyenv depuis openFrameworks
Un monde typé qui commence par Python
Créez un environnement virtuel pour python avec pyenv
Créer un cadre avec un arrière-plan transparent avec tkinter [Python]
[Python] Un outil qui permet une importation relative intuitive
[Python / Tkinter] Une classe qui crée un cadre défilable
Un mémorandum sur l'appel de Python à partir de Common Lisp
Créer une page qui se charge indéfiniment avec python
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
"Kit Python" qui appelle des scripts Python depuis Swift
Comment utiliser tkinter avec python dans pyenv
Lire ligne par ligne à partir d'un fichier avec Python
PIL ne peut pas être installé par virtualenv avec pyenv
Extraire des données d'une page Web avec Python
Convertir des images du SDK FlyCapture en un formulaire pouvant être utilisé avec openCV
Lorsque l'importation de tkinter n'est pas possible avec Mac OS X 10.11.3 (El Capitan) + pyenv + Python 3.5.1.
Je veux dire aux gens qui souhaitent importer depuis un répertoire supérieur avec Python direnv
Résolution du problème selon lequel MacVim installé par Homebrew n'a pas été construit par python de pyenv