pyenvのインストールと簡単な使い方
Pythonはもっぱら3をいじっていてる.
自分で小さなツールを作るときには特にバージョンを気にしない.しかしPyPIで公開されている2系のモジュールを,調査として適当にインタプリタを立ち上げて動作を見ようとすると,バージョンの切り替えが面倒である.
ということで最近よく聞くpyenvについて調べてみた.
pyenv
まずはpyenvのREADMEを読んでまとめると.
とりあえずインストールしてみる.
インストール環境
インストール
OS XならHomebrewが簡単 その他の環境でも,pyenvのREADMEを見れば大丈夫だろう.
$ brew install pyenv-virtualenv $ echo '"eval $(pyenv init -)"' >> ~/.zshrc # bashなら ~/.bashrc $ source ~/.zshrc
pyenvのコマンド
基本的にはpyenv help
とCOMMAND Referenceを参考に
必要そうなものだけ紹介.
pyenv version
とpyenv versions
現在のバージョンと,利用可能なバージョンをそれぞれ表示する.初期はsystemだけ表示されるはず.
$ pyenv version system (set by /Users/hoge/.pyenv/version) $ pyenv versions * system (set by /Users/hoge/.pyenv/version)
pyenv install
バージョンを指定して~/.pyenv
以下にインストール.-l, --list
で利用可能なバージョンを表示できる.
$ pyenv install 2.7.8 $ pyenv install 3.4.1 $ pyenv versions * system (set by /Users/hoge/.pyenv/version) 2.7.8 3.4.1
pyenv global
~/.pyenv/version
を書き換えているようだ
$ pyenv global 3.4.1 $ pyenv version 3.4.1 (set by /Users/hoge/.pyenv/version) $ python -V Python 3.4.1 $ pip -V pip 1.5.6 from /Users/hoge/.pyenv/versions/3.4.1/lib/python3.4/site-packages (python 3.4)
pyenv local
- 引数にバージョンを指定
- カレントディレクトリに
.python-version
を作成し,そのバージョンに設定.- これはglobalの設定より優先される
- カレントディレクトリに
- 引数を指定しない場合
- カレントディレクトリの
.python-version
で指定されたバージョンに設定.
- カレントディレクトリの
$ pyenv global 3.4.1 $ mkdir /tmp/app && cd /tmp/app $ pyenv local 2.7.8 $ pyenv version 2.7.8 (set by /tmp/app/.python-version) $ cat .python-version 2.7.8 $ pyenv local --unset # .python-versionが削除される
pyenv shell
globalやlocalよりも優先させてバージョンを設定する.
これは環境にPYENV_VERSION=バージョン
と設定しているようだ.
$ pyenv shell 3.4.1 $ cd /tmp/app && pyenv version # localの設定がのままとする 3.4.1 (set by PYENV_VERSION environment variable) $ pyenv shell --unset # PYENV_VERSIONが削除される $ pyenv version 2.7.8 (set by /tmp/app/.python-version)
これ以外にもいくつかあるので,COMMAND Referenceを参照してほしい.
virtualenvは眠いのでまた今度.
編集履歴
- 2015/05/28 typoを直す
- 2015/07/12 表現をいろいろと直す