pyenv でpythonの実行環境をサクっと変更する

sudo pip install hogehoge とかするといろいろつらいし、いちいち仮想環境作るほどでもない時に重宝します。

スポンサーリンク

インストール方法

公式wikiを見るべし。https://github.com/pyenv/pyenv/wiki

$sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev

$git clone https://github.com/yyuu/pyenv.git ~/.pyenv

.bashrc か .profile に変数の設定を書き込む。

export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"

debian / ubuntu の場合、公式wikiに従って .bash_profile を作成してしまうと、 .profile が読み込まれなくなってしまい、その結果 .bashrc も読み込まれなくなるので注意。

.profile に環境変数を設定して、.bashrc にbash起動時に設定したいものを書くのが、おそらく正しい使い分けだと思う。

基本の使い方

公式wikiを見るべし。https://github.com/pyenv/pyenv/wiki

あるバージョンをインストールする
pyenv install x.x.x

インストールされているバージョンと、現在有効なバージョンを確認する
pyenv versions

バージョンを切り替える
local は、現在のディレクトリ以下に反映される。
global は全体に反映される。

pyenv global x.x.x
pyenv local x.x.x

local とした場合、.python-version というファイルが作成され、そこにversionが書き込まれる。このファイルは永続化されるため、gitやファイルサーバに置いておけばpythonのバージョンを固定できる。ただし個人的なプロジェクトじゃないと若干使い勝手が悪いかもしれない。

本格的にやりたい場合は pyenv-virtualenv を使うとか、vagrantを使うとか、目的に合わせて適切なツールを使う。

shellのバージョンを切り替える
pyenv shell x.x.x
カレントシェルにのみ反映。

スポンサーリンク

フォローする