[Python3] venv - 仮想環境の使い方

Posted on 2019/03/11 in programming , Updated on: 2019/03/30

はじめに

venv とは、簡単に仮想環境を作成・管理する手段。仮想環境を作成することによって、プロジェクトごとにインストールするパッケージのバージョンを独立させることができる。

python 2系と3系の両方がインストールされている環境(Macはデフォルトで2系が入っている)では、python3 で仮想環境を作れば、python スクリプト実行時や pip install 時にも"3"の標記がいらなくなる。

Python3.3, 3.4では、仮想環境の作成の公式推奨ツールはpyenvだったが、Python3.5からはpyenveは非推奨となっている。

仮想環境の作成

ディレクトリを作成して、仮想環境を作成する。

$ mkdir new_dir
$ cd new_dir
$ python3 -m venv venv

上記例では、"new_dir" というディレクトリを作成し、その中に "venv" という仮想環境を作成した。"python3 -m venv venv" の2つ目の"venv"は仮想環境名を任意に指定できるが、基本的に"venv"という名前にしておくのが無難。
今後new_dir内にいくつもディレクトリが作成された場合、ややこしくなるため。 下記に続く例は、全て仮想環境名を"venv"として進めている。  
 

仮想環境に入る

Windows

venv ディレクトリに入って

$ Scripts\activate

Mac, Linux

$ source venv/bin/activate

仮想環境に入ると、ターミナル(or コマンドプロンプト)の行頭に(venv)という文字が現れる。

(venv) $

仮想環境の確認

python -V で python のバージョンを確認。

(venv) $ python -V
Python 3.6.5

ちなみに仮想環境に入っていない状態で、2系, 3系 を有する環境で上記コマンドを実行すると python 2系のバージョンが出力される。

$ python -V
Python 2.5.4

仮想環境でライブラリのインストール

インストールは通常環境と同じく pip を使う。python3 で仮想環境を作ったので、pip3 にする必要はなく、pip でOK。

(venv) $ pip install パッケージ名

仮想環境内のライブラリの確認

通常環境と同じく、pip freeze で可能。

(venv) $ pip freeze
パッケージ名 == x.x.x
パッケージ名 == x.x.x
.
.

仮想環境から抜ける

(venv) $ deactivate

$

仮想環境の初期化

仮想環境内にインストールしたライブラリを全て削除して、python3 -m venv venv した時の状態(初期状態)に戻したいときは、 --clearオプションを利用する。

$ python3 -m venv --clear venv

仮想環境を削除

作成した仮想環境が必要なくなれば、venv ディレクトリを削除するだけでOK。