venv仮想環境
Python3でvenv仮想環境の使い方をメモします。
環境: macOS Catalina 10.15.7, Python 3.8.5
venvとは
venv(virtual environment)とはひとつのホストの中で、プロジェクト毎に使用したいライブラリやモジュールを分けて管理することを可能にする仮想環境のことです。
(管理出来る対象をPythonライブラリのみとしたDockerコンテナのようなもの)
Pythonは本来、ひとつのホストにバージョン違いの同じライブラリをインストールすることが出来ませんが、
venv仮想環境を使用することでホスト本体はもちろん、複数の仮想環境ごとにインストールすることが出来ます。
venv仮想環境作成コマンド
以下、コマンドを実行して仮想環境用のディレクトリを作成します。
venvの後につけるディレクトリ名は任意となります。(ここではvenv_dir)
python3 -m venv venv_diir
デフォルトのバージョンをPython3にしている場合は上記のように先頭の指定を python3 でなく、python としてもOKです。
(ディレクトリが作成できていることを確認)
$ ls venv_dir
bin include lib pyvenv.cfg
仮想環境用のディレクトリが作成できたら、次に以下のコマンドを実行して仮想環境を有効化します。
. venv_dir/bin/activate
.(ドット)の後に作成したディレクトリ、中身のactivateというファイルのパスまで指定して実行
コマンドを実行するとシェルが以下のように切り替わります。
(venv_dir) KENnoMacBook-ea:Sites ken$
先頭に(venv_dir)と付いている状態が仮想環境の有効を表します。
この状態でインストールまたはアップデートしたPythonのライブラリ、モジュールはこの仮想環境内にのみ存在することになります。
pip install ライブラリ名
venvからログアウト
下記コマンドで、venv仮想環境を終了(ログアウト)出来ます。
deactivate
ホスト本体からは仮想環境でインストールしたライブラリが見えないことが確認出来ます。
(同じものをインストールしていなければ)
インストール済みライブラリ一覧を確認するpipコマンド
pip list
venv仮想環境はいくつも作成することが出来ます。
また、venv仮想環境のディレクトリと、
目的のライブラリを利用する開発プロジェクトのディレクトリは別々の場所に配置していても問題ありません。
(venvを有効にしてから開発を行う)