pyenvによる処理系の一元管理と環境の切り替え¶
用途¶
- pythonの処理系の一元管理
- 特定ディレクトリでのpython処理系の切り替え
- 各プロジェクトごとの環境(python version, library, etc.)の切り替え
- 特定ディレクトリでの環境切り替え
pyenvのインストール¶
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
設定¶
各shの設定ファイルに以下を追加
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
pythonの処理系のインストール¶
- やむをえず2系
- これからの安定3系
- (通常とは使用するライブラリが異なるので)機械学習やデータ処理のための簡易環境として anaconda, miniconnda
- (使ったこと無いけど)速さを求めて pypy
pyenv install --list
pyenv install <name>
特定ディレクトリでのバージョン切り替え¶
cd target_dir
pyenv local <name>
cat .python-version
# <name>
# version確認
python -V # <name>
mkdir -p depth1/depth2
cd depth1/depth2; python -V # <name>
cd ..; python -V # <name>
cd ../..; python -V # default
cd taget_dir; rm .python-version; python -V # default
各プロジェクトごとの環境の切り替え¶
- 環境切替に便利なvirtualenvをpyenvから簡単に使える
- globalなコマンドではなく、pyenvのサブコマンドとして使える
環境の作成と切り替えと削除¶
pyenv virtualenv env-name
pyenv virtualenvs
pyenv activate env-name
pyenv deactivate
pyenv uninstall env-name
特定ディレクトリでの環境の切り替え¶
cd target_dir
pyenv local env-name
# activate -> (env-name)
cat .python-version
# env-name
python -V # version-for-env
# 自動切り替え
cd ..
# pyenv-virtualenv: deactivate env-name
cd -
# pyenv-virtualenv: activate env-name
まとめ¶
pyenv localによって簡単に切り替えられるので、習慣付けたい