Ubuntuにpyenv+pyenv-virtualenvを入れるときのメモ

  • pyenv

    • 異なるバージョンのPythonを、ホームディレクトリのレベルで管理するソフト.
  • pyenv-virtualenv

    • パッケージの切り分けを可能にする仮想環境を,pyenvでインストールしたバージョンのPythonを元にして作成するpyenvのプラグイン

まずはpyenvを ~/.pyenv にインストールする.

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

pyenvを利用するには~/.bashrc等に以下の設定を追加する.

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

続いてpyenv-virtualenvを ~/.pyenv/plugins/pyenv-virtualenv にインストールする.

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

同じく,~/.bashrc等に

eval "$(pyenv virtualenv-init -)"

を追加する.


インストールできたか確認.

$ which pyenv
/home/buko106/.pyenv/bin/pyenv

などと表示されればOK.


お好みのバージョンのPythonをインストールする.

$ pyenv install 3.6.2
Downloading Python-3.6.2.tar.xz...
-> https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
Installing Python-3.6.2...
Installed Python-3.6.2 to /home/buko106/.pyenv/versions/3.6.2

ビルドが走るので少し待つ.なにも表示されなければOK.

ファイル群は全て,~/.pyenv/versions/3.6.2/ にインストールされる.


続いて仮想環境を作成する.今回は流行りのtensorflowのための仮想環境を作ってみる.

仮想環境を作成するコマンドはpyenv virtualenv (元にするPythonのバージョン) (仮想環境につける名前)となる.

$ pyenv virtualenv 3.6.2 tensorflow
$ pyenv activate tensorflow
(tensorflow) $

上記のようにプロンプトに仮想環境名が表示されれば,その環境が有効になっている.

(tensorflow) $ pip install --upgrade tensorflow
(tensorflow) $ python
>>> import tensorflow as tf
>>> tf.__path__
['/home/buko106/.pyenv/versions/tensorflow/lib/python3.6/site-packages/tensorflow']

しっかりと仮想環境下にあるパッケージが読み込まれている.

仮想環境から出るには

(tensorflow) $ pyenv deactivate 
$