python環境構築 in Mac

今回は、macpythonの環境を構築していこうと思います。 pythonは2系や3系などversionが複数あるので、version管理できるような形での環境構築を目指します。 pythonの環境を管理してくれるpyenvを使って構築していきましょう。

pyenvがinstallされているか確認

まず自身のMacに既にpyenvがインストールされているかを確認します。

下記のコマンドで command not found が表示されましたらまだインストールされていません。

$ pyenv -v
-bash: pyenv: command not found

pyenvのインストール

下記のコマンドでinstallしましょう

$ brew install pyenv

installされた事を先ほどのコマンドで確認します。

$ pyenv -v
pyenv 1.2.9

pyenvの設定

下記のコマンドでbash_profileに設定を追加しましょう。

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

また、追加した設定を反映します。

$ source ~/.bash_profile

これでpyenvの設定は完了です。

pythonのinstall

下記のコマンドでpyenvでinstallできるversionを確認しましょう。

$ pyenv install --list

今回は、3.7.2をinstallしてみましょう。

$ pyenv install 3.7.2

もし下記のエラーが出た場合の対処

xcode-selectの最新バージョン(2354)にMojave用のmacOS SDK headerがデフォルトで入っていないのが原因のようです。

zipimport.ZipImportError: can't decompress data; zlib not available

マニュアルで以下をインストールする必要ある(エラーが出なかった場合は、しなくて大丈夫)

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

installが完了したら、下記のコマンドで確認

$ pyenv versions
* system (set by /Users/a13051/.pyenv/version)
  3.7.2

3.7.2がinstallされている事を確認できました。

今回installしたversionをmacで使うように設定

$ pyenv global 3.7.2
$ pyenv versions
  system
* 3.7.2 (set by /Users/a13051/.pyenv/version)
$ python --version
Python 3.7.2

これで完了