[Python] venvの使い方・導入手順

この記事は、シリーズ「Pythonではぜひともvenvを使おう」の一部です。( 2 / 3 )

この記事の内容

venvをプロジェクトにvenvを導入する手順を紹介します。これは、プロジェクトを作るごとに必要な作業です。
※ 本記事は、Python3.x.xを対象としています。

venvのインストール?

venvはPython3.x.xには標準でバンドルされているのでインストールする必要はありません。
Python3 -m venv --helpを実行すると、helpページが出力されるはずです。

venv hello world

venv環境作成

現在のPythonプロジェクトフォルダにvenv環境を導入するには、以下のコマンドを実行します。

$ <target_python_interpreter> -m venv <folder>

たとえば、Python3.6のvenvを、venv/ フォルダに構成する場合、以下を実行します。
フォルダの名前はなんでもいいのですが、慣例的にvenv/フォルダと命名されることが多いようです。

$ python3.6 -m venv venv

エラーが出た場合

Ubuntu14.04ではここでうまくいかなくなる場合があります。
これについては、以下の記事に別途まとめています。
[Python] Ubuntu14.04へのvenv導入時エラーの解決方法

venv有効化

さて、作成した仮想環境を有効化してみましょう。
仮想環境を有効にするには、以下のコマンドを実行します。

$ source venv/bin/activate

現在の端末におけるPATHが書き換わり、仮想環境内のPythonインタプリタ・パッケージのみを使えるようになります。

その際、上記のようにプロンプトが変わります。わかりやすいですね。

venv無効化

仮想環境での作業を終了する場合、以下のコマンドを実行します。
プロンプトがはずれたことを確認してください。

(venv) $ deactivate
$ deactivate

これはvenv/bin/activate内で定義されている関数です。興味があれば内容を見てみてください。
ちなみに、venvは単なるローカルなPATHの書き換えなので、端末からログアウトすれば、venv仮想環境も無効化されます。

その他の操作

仮想環境削除

仮想環境の実体はただのフォルダに入ったファイル群です。なので、venv/フォルダをrm -rfコマンドで消してしまえばおしまいです。
削除した時点でvenv/binフォルダも消えているため、(venv)プロンプトが表示されていても、仮想環境は無効となっています。
誤操作を防ぐためにも、deactivateしてから削除するとよいでしょう。

仮想環境の複数導入

仮想環境はただのフォルダなので、一つのプロジェクトに複数のvenvを導入することもできます。テストなどに便利ですね。

$ python3.4 -m venv venv3.4
$ python3.6 -m venv venv3.6
$ tree
venv_sample
├── venv3.4
│   ├── bin
│   ├── include
│   ├── lib
│   ├── lib64 -> lib
│   └── pyvenv.cfg
└── venv3.6
    ├── bin
    ├── include
    ├── lib
    ├── lib64 -> lib
    └── pyvenv.cfg
この記事は、シリーズ「Pythonではぜひともvenvを使おう」の一部です。( 2 / 3 )