pyenv というものがあるらしい。virtual-env とは何が違うんだろうか。
ここを参考に。
ここを参考に。
- Python のバージョン管理システムで、複数のPythonバージョンが共存できるようにしてくれる。
- ディレクトリごとに、Pythonを指定できるようにしてくれる。
- もともとPythonbrew という名前だったらしい。
virtualenv のほうは、一つのバージョンのPythonの中で、複数のパッケージ環境を用意するもの。pyenv は複数のバージョンを使えるようにするもの、ということで直行しているようだ。
mac ではbrewで簡単に入る。
> brew install pyenv
> pyenv install -l
とやると利用可能なpythonのバージョンリストが表示される。
jythonとかpypy とかも選べる。
jythonとかpypy とかも選べる。
> pyenv install 3.5.1
とやると 3.5.1 がインストールされる。これをデフォルトにするには、globalを使う。
> pyenv global 3.5.1
> python --version
Python 3.5.1
特定のディレクトリに特定のバージョンのpythonをバインドするには、local を使う。
> cd /tmp
> pyenv local 2.7.11
> python --version
Python 2.7.11
> cd
> python --version
Python 3.5.1
local は、サブディレクトリに対しても効果を持つ。また、local を解除するには—unsetを用いる。
> pyenv local --unset
virtualenv との連携
virtualenv と連携して、versionの一つとして、virtualenv を作ることができる。自動的にactivate / deactivate してくれて便利。下記のようにすると、install と同じレベルのコマンドとしてvirtualenvが追加される。
> brew install pyenv-virtualenv
でインストール。bashrcとかに下記を追加。
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi
virtualenv をつくる
既存のversion をベースにvirtualenvを構築できる。
> pyenv virtualenv 3.5.1 newenv
> pyenv local newenv
> python --version
Python 3.5.1
ただ、anaconda をベースに作ることは、どうもできないっぽい。2.7.11がダウンロード?されてまっさらな環境が作られているような気がする。
0 件のコメント:
コメントを投稿