LoginSignup
0
0

More than 3 years have passed since last update.

MacOS Catalinaに更新後、Xcode Command Line ToolsをインストールしてPython 2.7系から3.7系に変更(bash)

Last updated at Posted at 2020-10-26
  • MacOS Catalina
  • Python 2.7.17
  • bash

MacOS MojaveからCatalinaにバージョンアップしたところ、numpyがimportできなくなりました。
この状況を改善しつつ、併せて、Python 2系が、2020年1月でサポート終了とのことで遅ればせながらこの機会に 3.7.7 にバージョンアップしました。やり方を備忘録として、本記事に記します。

numpyがインポートできないことを示すエラーメッセージ

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

Pythonのインストールを試みるもエラー

そこで、Python 3.7.7をインストールしてみようと試みましたが、エラーが表示されました。


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

Qiitaの他の方の記事に、異なるバージョンのOSにおける同様の事例紹介を見つけました。
macOSアップデート後の『xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)...』の対処法

Xcode Command Line Toolsのインストール

Xcode Command Line Toolsが必要ということでインストールしました。
私の環境の場合、次のやり方でうまく進むことができました。

$ 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.

pyenvのバージョンと .bash_profileの内容確認

このとき、pyenvのバージョンは次の通りです。

$ pyenv --version
pyenv 1.2.17

.bash_profile の中には以下のような記述が含まれていました。

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

Python 3.7.7のインストール

あらためて、Python3.7.7をインストールしてみましたが、今度はインストールが完了しました。

$ pyenv install 3.7.7
python-build: use openssl@1.1 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

pyenv でインストールされている Python のバージョンを確かめます。そして、3.7.7を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

こちらで、numpyがインポートできないことを示すエラーメッセージは表示されなくなり、abc.pyがターミナルで実行できるようになりました。

備忘録は以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0