Search on the blog

2016年2月13日土曜日

pyenv-virtualenvでPythonの環境構築

pyenv-virtualenvとは?
virtualenv環境を管理するためのpyenvプラグイン。

pyenvを使うと異なったバージョンをPythonを使い分けることができるが、virtualenvを使うと同じバージョンのPythonで異なる環境(依存するライブラリが異なる環境など)を使い分けることができる。
pyenv-virtualenvはvirtualenvの機能をpyenvから使うことができる便利なプラグイン。

インストール
pyenvはインストール済みであるとする。

Mac OSの場合はhomebrewでインストール。
$ brew install pyenv-virtualenv

インストール後、以下を.bash_profileに追記。
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi

サンプル
シチュエーション
projectXというプロジェクトをPython 3.5.1で開発したい。
システムにインストールされているPythonのバージョンは変えたくない。
pyenvで3.5.1の環境は作れるが別のプロジェクトでも3.5.1を使う可能性があり、依存するライブラリを共有したくない。

解決策
pyenv-virtualenvの出番だ!
$ mkdir projectX
$ cd projectX/
$ pyenv local 3.5.1
$ pyenv version
3.5.1 (set by /Users/kenjih/work/projectX/.python-version)
$ pyenv virtualenv projectX
$ pyenv local projectX 
$ pyenv version
projectX (set by /Users/kenjih/work/projectX/.python-version)

上記のようにpyenv virtualenv projectXprojectXという名前の環境を作成できる。
仮想環境のPythonのバージョンは環境作成時のpyenv versionのものが使われる。(上の例では3.5.1)
pyenv local projectXとすることで、カレントディレクトリ以下がprojectX環境となり、独立したPythonの環境を構築できる。

作成した環境一覧の表示、作成した環境の削除は以下のコマンドで行う。
$ pyenv virtualenvs
  3.5.1/envs/projectX (created from /Users/kenjih/.pyenv/versions/3.5.1)
  projectX (created from /Users/kenjih/.pyenv/versions/3.5.1)
$ pyenv virtualenv-delete projectX

0 件のコメント:

コメントを投稿