こんにちは、adachitです。
今回はPython 3.4以降より実装されている仮想環境構築ツールの「venv」についてご紹介していこうと思います。
実行環境
Mac OS : Big Sur (version 11.4)
Python : 3.9.4
仮想環境構築の作り方
まず、python
に-m venv
のオプションコマンドを付け、仮想環境名を入力し実行します。
今回は、amelieff
という名前の仮想環境を作成してみます。
adachit@amelieffnoMacBook-Pro % python -m venv amelieff adachit@amelieffnoMacBook-Pro % ls amelieff
上記コマンドを実行すると、実行したディレクトリに指定した名前のディレクトリが作成されます。
次に作成した仮想環境を有効にします。
source
コマンドでamelieff/bin/activate
を選択し実行します。
adachit@amelieffnoMacBook-Pro % source amelieff/bin/activate (amelieff) adachit@amelieffnoMacBook-Pro %
上記コマンドを実行すると、左側に(amelieff)が追加されます。
これで作成した仮想環境の構築が有効になりました。
この状態でpip list
を実行すると、最低限のモジュールだけが存在し、ローカルとは切り離された環境であることが分かります。
(amelieff) adachit@amelieffnoMacBook-Pro % pip list Package Version ---------- ------- pip 20.2.3 setuptools 49.2.1
仮想環境を終了する場合、deactivate
を実行します。
(amelieff) adachit@amelieffnoMacBook-Pro % deactivate adachit@amelieffnoMacBook-Pro %
実行が完了すると、(amelieff)がなくなりローカルの環境に戻ります。
実際にpip list
を実行し、ローカルの環境に戻っていることを確認します。
adachit@amelieffnoMacBook-Pro % pip list Package Version ---------- ------- pip 20.2.3 selenium 3.141.0 setuptools 49.2.1 urllib3 1.26.6
仮想環境には無かったselenium
とurlib3
が確認できました。
Anacondaとの違い〜 venvかAnacondaか
ローカルにPythonがある環境で、Python仮想環境を使いたい場合、venvを使うべきか、Anacondaをインストールして使うべきかについて説明します。
結論から言いますと、「venv」を使用することをおすすめします。
理由は、Anacondaのインストールによって、ローカルとAnacondaの間でPythonの競合が生じ、既存の環境を壊してしまう可能性があるからです。
一方でvenvは、ローカルのPythonを使用し動作するので、このような競合は生じません。
しかし、仮想環境でPythonモジュール以外のツールをインストールしたい場合は、Anacondaでなければできません。
これらのメリット・デメリットを踏まえ、ケース・バイ・ケースで使い分けをするのがいいかと思います。