virtualenvとvirtualenvwrapperを使う

Python3の話です。
仮想環境を作りましょう。

「仮想環境」と言われて頭が混乱する人がいると思います。私も長らく混乱していました。仮想環境とは、システムのデフォルトの影響を受けない開発環境の事を意味するようです。プロジェクトごとにpythonや、それに伴ってライブラリのバージョンを分けることができます。

仮想環境を作ります。
いろいろなものが有りますが、pythonのバージョン切り替えを伴わない(できるみたいではありますが)、virtualenvというものと、それを使いやすくしてくれる、virtualenvwrapperというものを使ってみたいと思います。

インストール

pipを使ってインストールします。

$ pip install virtualenv 
$ pip install virtualenvwrapper

whichコマンドを使って、virtualenvwrapper.shの場所を探します。

$ which virtualenvwrapper.sh 
/usr/local/bin/virtualenvwrapper.sh 

.bashrc.zshrcなどに、以下を追記します。

if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then     
    export WORKON_HOME=$HOME/.virtualenvs     
    source /usr/local/bin/virtualenvwrapper.sh #ここはwhichコマンドの結果に変えてください。
fi

sourceコマンドなどで再読込してください。

$ source ~/.zshrc

エラーなどが表示されなければOKです。

使い方

仮想環境を作ります。今回はtestenvという環境を作るとします。
仮想環境を作る際はmkvirtualenv ENVNAMEというコマンドを打ちます。

$ mkvirtualenv testenv

 仮想環境で用いるpythonを指定したい場合は、
--python=/path/to/your/pythonというオプションを付けます。

$ mkvirtualenv --python=/usr/local/bin/python testenv 

仮想環境を有効にする場合は、workon ENVNAMEというコマンドを打ちます

$ workon testenv

すると、シェルが以下のようになります。

(testenv) $

この状態でpipなどでライブラリを導入した場合、システムとは関係ない場所で、この仮想環境を有効にしている場合のみに使える場所にインストールされます。

仮想環境を向こうにする場合は、deactivateと打ちます。

(testenv) $ deactivate

さて、これで動くはずなのですが…私の環境では動きませんでした。以下の記事にまとめました。

pyenv-virtualenvを使ったほうがもっと簡単に環境を変更できたりするかもしれないですね。またの機会にまとめてみたいと思います。

参考

Back to Top