2017/02/16更新

[Python] pyenv-virtualenvを使って、ディレクトリごとに異なるPython環境を作る

このエントリーをはてなブックマークに追加      

こんにちは、@yoheiMuneです。
先日「pyenvを用いて複数のPythonバージョンを扱う」のブログを書きましたが、今日はその続きで依存パッケージ(site-packages)も含めてディレクトリごとに独立させる方法をブログに書きたいと覆います。

画像

目次




pyenv-virtualenv

pyenv-virtualenvはpyenvのプラグインで、Pythonの仮想環境の作成を支援してくれます。同じような名前でvirtualenvがありますが、目的は一緒ですが別物です。
このブログでは、pyenv-virtualenvを使ってディレクトリごとに異なるPython環境を作りたいと思います。



インストール

インストール方法はREADMEにある感じで、以下のように行います。まずpyenv-virtualenvを導入します。
# pyenvのディレクトリにプラグインとして導入する
$ git clone https://github.com/yyuu/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

# 起動時に有効にする
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

# 今時点でも動くように環境をよみ直す
$ source ~/.bash_profile
その後、以下のように動けばOKです。
$ pyenv virtualenv
pyenv-virtualenv: no virtualenv name given.



環境を作成する

pyenv-virtualenvで環境を作成するためには、以下のように行います。
pyenv virtualenv [Pythonバージョン] [環境名]
例えば「my-special」という環境を作ってみます。
$ pyenv virtualenv 3.6.0 my-special
上記コマンドを実行すると、環境が増えていることがわかります。
$ pyenv versions
* system (set by /Users/munesadayohei/.pyenv/version)
  3.5.0
  3.6.0
  3.6.0/envs/my-special
  my-special
これで環境の作成は完了です。



ディレクトリに環境を適用する

pyenv localを使うことで、現在いるディレクトリに環境が適用されます。
$ pyenv local my-special
環境は以下のように確認できます。
# 環境名を確認する
$ cat .python-version
my-special

# Pythonのバージョン
$ python -V
Python 3.6.0

# pipは空っぽなことがわかる.
$ pip freeze
また、黒い画面の表示にも「(my-special)」と表示されるようになります。
(my-special) [~/tmp] $
これでディレクトリごとの環境ができました。お手軽で便利ですね。virtualenvに比べて、activateとかをしなくて良いので個人的には便利かなーと感じています。



参考資料

以下を参照しました、ありがとうございます。

https://github.com/yyuu/pyenv-virtualenv



最後に

Pythonの開発ではプロジェクトごとにちゃんと環境を変えるといいですよね。ライブラリによって使いたいバージョンが違ったりしますし。今後もPythonについていっぱいブログを書きたいと思います。

最後になりますが本ブログでは、Python・Node.js・Linux・フロントエンド・インフラ・Go言語・開発関連・Swift・Java・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSTwitterをフォローして頂けると幸いです ^ ^。

最後までご覧頂きましてありがとうございました!





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。