Pythonでvirtualenvの使う方法
概要
virtualenv
はPythonの仮想環境を作るためのライブラリです。
virtualenv
を使えば、プロジェクト毎に仮想環境を作成し各環境にライブラリをインストールすることが出来るので、ライブラリの依存関係がごちゃごちゃになるのを回避出来ます。
virtualenvをより便利に使うためのライブラリとして、virtualenvwrapper
が有名ですが、この記事ではvirtualenvwrapper
については触れずに、virtualenv
の使い方について記載します。
インストール方法
pip経由でインストール出来ます。
$ pip install virtualenv
virtualenvで仮想環境構築
クリーンな仮想環境を作る場合。
$ virtualenv [env_name]
グローバルのsite-packagesにインストール済みのモジュールを引き継いで仮想環境を作る場合。
$ virtualenv [env_name] --system-site-packages
補足
--system-site-packages
オプションをつけるとグローバルのsite-packagesにインストール済のモジュールを引き継ぎます。
ちなみに、昔のvirtualenvでは、この動作がデフォルトだったので、グローバルのsite-packagesを引き継ぎたくない場合は—no-site-packages
というオプションを付けていたようです。
最近のvirtualenvではデフォルトが--no-site-packages
相当の動作になっているので--no-site-packages
は非推奨(というか不要)です。
virtualenvで仮想環境切り替え
仮想環境を有効化する。
$ source [env_name]/bin/activate
仮想環境の切り替えが正常に動作しているか確認する。
$ which python /Users/***/[evn_name]/bin/python
みたいな感じで、virtualenvで作成した仮想環境内のpythonを参照していればok.
仮想環境を無効化するには以下のコマンドを入力する。
$ deactivate
virtualenvの仮想環境内にpip経由でライブラリをインストール
仮想環境を有効化した状態で、pip経由でインストールすれば、仮想環境内にのみライブラリがインストールされます。
$ source [env_name]/bin/activate $ pip install [lib_name]
次に、仮想環境内にインストールされていることの確認してみる。
$ pip list ・・・(インストールしたモジュールが表示される)
ここで一旦、仮想環境を無効化して・・・
$ deactivate
再度、インストール済みモジュールを確認
$ pip list ・・・(仮想環境上に導入したモジュールは表示されないはず)
以上です。