Après la mise à jour vers MacOS Catalina, installez les outils de ligne de commande Xcode et passez de la série Python 2.7 à la série 3.7 (bash)

Après la mise à niveau de MacOS Mojave vers Catalina, numpy ne peut plus être importé. Tout en améliorant cette situation, la série Python 2 a été mise à niveau vers la version 3.7.7 à cette occasion, bien qu'il ait été annoncé que le support prendrait fin en janvier 2020. Je décrirai comment le faire dans cet article sous forme de mémorandum.

Message d'erreur indiquant que numpy ne peut pas être importé

$ python abc.py
Traceback (most recent call last):
  File "abc.py", line 3, in <module>
    import numpy as np
ModuleNotFoundError: No module named 'numpy'

Erreur lors de la tentative d'installation de Python

J'ai donc essayé d'installer Python 3.7.7, mais j'ai eu une erreur.


$ pyenv install 3.7.7
(Omis)
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

J'ai trouvé une étude de cas similaire sur différentes versions du système d'exploitation dans un autre article de Qiita. Comment gérer "xcrun: erreur: chemin du développeur actif non valide (/ Library / Developer / CommandLineTools) ..." après la mise à jour de macOS

Installer les outils de ligne de commande Xcode

Je l'ai installé car j'avais besoin des outils de ligne de commande Xcode. Dans mon environnement, j'ai pu procéder de la manière suivante.

$ softwareupdate --list
Software Update Tool

Finding available software
Software Update found the following new or updated software:
* Label: Command Line Tools for Xcode-12.1
	Title: Command Line Tools for Xcode, Version: 12.1, Size: 431272K, Recommended: YES, 

$ softwareupdate --install -a
Software Update Tool

Finding available software

Downloading Command Line Tools for Xcode
Downloaded Command Line Tools for Xcode
Installing Command Line Tools for Xcode
Done with Command Line Tools for Xcode
Done.

Vérifiez la version de pyenv et le contenu de .bash_profile

À ce stade, la version de pyenv est la suivante.

$ pyenv --version
pyenv 1.2.17

Le .bash_profile contenait la description suivante:

(Omis)
PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
     export PATH=${PYENV_ROOT}/bin:$PATH
     eval "$(pyenv init -)"
fi
(Omis)

Installation de Python 3.7.7

J'ai essayé à nouveau d'installer Python 3.7.7, mais cette fois, l'installation est terminée.

$ pyenv install 3.7.7
python-build: use [email protected] from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.7.tar.xz...
-> https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tar.xz
Installing Python-3.7.7...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.7.7 to /Users/ecru/.pyenv/versions/3.7.7

Vérifiez la version de Python installée par pyenv. Définissez ensuite 3.7.7 sur global.

$ pyenv versions
  system
* 2.7.17 (set by /Users/ecru/.pyenv/version)
  3.7.7
$ pyenv global 3.7.7 
$ python -V
Python 3.7.7

Maintenant, le message d'erreur indiquant que numpy ne peut pas être importé n'est plus affiché et abc.py peut maintenant être exécuté dans le terminal.

C'est tout pour le mémorandum.

Recommended Posts

Après la mise à jour vers MacOS Catalina, installez les outils de ligne de commande Xcode et passez de la série Python 2.7 à la série 3.7 (bash)
Utilisez Python 3 introduit par l'outil de ligne de commande sur macOS Catalina
[EC2] Comment installer et télécharger chromedriver à partir de la ligne de commande
Installer Python et les bibliothèques pour Python sur MacOS Catalina
série python2 / série 3, code de caractère et instruction d'impression / ligne de commande
Autoriser l'installation des outils de ligne de commande en Python
Comment obtenir une chaîne à partir d'un argument de ligne de commande en python
Installez Chrome en ligne de commande sur Sakura VPS (Ubuntu) et lancez Chrome avec python à partir de l'affichage virtuel et du sélénium
N'a pas changé de Python 2 à 3
Obtenez des options en Python à partir des fichiers JSON et des arguments de ligne de commande
De Python à l'utilisation de MeCab (et CaboCha)
Comment installer et utiliser pandas_datareader [Python]
Portage et modification du solveur de doublets de python2 vers python3.
Installez Python inférieur à 3.5.3 sur macOS Catalina
[Amazon Linux] Passage de la série Python 2 à la série Python 3
Si vous essayez d'installer Python2 pip après avoir installé Python3 pip et qu'il est rejeté