Macにpyenv-virtualenvをセットアップして複数バージョンのPython環境を構築する
ディレクトリ毎に異なるpyenv環境を構築できるので、version依存を気にすることなくpipでパッケージインストールが可能になる
(バージョン依存から解き放たれたい時に使う。)
環境
macOS 10.14.1 Mojave
pyenv-virtualenvインストール
$ brew update $ brew install pyenv-virtualenv
パッケージインストール完了後、~/.bash_profileに以下を追記
export PYENV_ROOT="${HOME}/.pyenv" if [ -d "${PYENV_ROOT}" ]; then export PATH=${PYENV_ROOT}/bin:$PATH eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" fi
環境変数の変更内容を反映
$ source ~/.bash_profile
使い方
インストール可能なPythonのバージョン確認
$ pyenv install --list
でインストール可能なPythonのバージョン、ディストリビューションが表示される。
Available versions: 2.1.3 2.2.3 2.3.7 2.4.4 ... 2.7.15 ... 3.7.0 3.7-dev 3.7.1 3.7.2 3.8-dev ...
Pythonのインストール方法
例えば、Python 2系の一番新しいやつ(ver.2.7.15)を入れたい場合は
$ pyenv install 2.7.15
以下のエラーが出る場合
Installing Python-2.7.15... python-build: use readline from homebrew ERROR: The Python zlib extension was not compiled. Missing the zlib? Please consult to the Wiki page to fix the problem. https://github.com/pyenv/pyenv/wiki/Common-build-problems
Xcode cliが入ってなければ、
$ xcode-select --install
でインストールを実施。すでに入っている場合は、~/.bash_profileに
export CFLAGS="-I$(xcrun --show-sdk-path)/usr/include"
を追加して、source ~/.bash_profileを行い再実行するとインストールできる
インストールされているPythonのバージョン確認
$ pyenv versions * system (set by /Users/user_name/.pyenv/version) 2.7.15 3.7.2
virtualenv仮想環境を作成
pythonのバージョン2.7.15で、testという名称の仮想環境を作成する場合
$ pyenv virtualenv 2.7.15 test $ pyenv versions * system (set by /Users/user_name/.pyenv/version) 2.7.15 3.7.2 test
virtualenvの仮想環境を特定のディレクトリ上に構築
環境を作りたいディレクトリを作成し、作成したディレクトリに移動
$ mkdir ~/python/test $ cd ~/python/test
ディレクトリ内では、先ほど作成したtestという名の仮想環境を使いたい場合
$ pyenv local test # pythonのバージョンを確認 (test) $ python -V Python 2.7.15
- pythonのバージョンが変わらない場合
~/.bash_profileにpyenvのPATHを追加
export PATH="$HOME/.pyenv/shims:$PATH"
変更内容を適用し、再度バージョン確認を試みる
source ~/.bash_profile