[Python] pyenv-virtualenvを使って、ディレクトリごとに異なるPython環境を作る
こんにちは、@yoheiMuneです。
先日「pyenvを用いて複数のPythonバージョンを扱う」のブログを書きましたが、今日はその続きで依存パッケージ(site-packages)も含めてディレクトリごとに独立させる方法をブログに書きたいと覆います。
このブログでは、pyenv-virtualenvを使ってディレクトリごとに異なるPython環境を作りたいと思います。
https://github.com/yyuu/pyenv-virtualenv
最後になりますが本ブログでは、Python・Node.js・Linux・フロントエンド・インフラ・Go言語・開発関連・Swift・Java・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!
先日「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の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!