Pythonの仮想環境Virtualenvについて

virtualenv

 

Virutualenvのインストール

 

Virutualenvのインストール

pip install virtualenv

 

 

仮想環境の作成

Virtualenv

virtualenv 環境名

 

venv

python -m venv 環境名

もしくは、

py -m venv 環境名

 

 Pythonのバージョン指定で仮想環境を作成する場合、

 

Virtualenv

virtualenv -p python3.7 環境名

 

venv

python -3.7 -m venv 環境名

もしくは、

py -3.7 -m venv 環境名

 

仮想環境の有効化

Linux系

source venv/bin/activate

 

Windowsの場合はsourceが使えないので、

.\venv\Scripts\activate

 

仮想環境の終了

deactivate

 

 

パッケージのインストール

モジュールのインストール

pip install パッケージ名

 

 

Virtualenvとvenvの違い

virtualenvはPythonの公式で配布されているパッケージではなく、サードパーティ製だが、Python3.3より前であればこちらがよく使われていた。

 

Python3.3以降では、virtualenvの一部機能がvenvとしてPythonに組み込まれた。

virtualenvは引き続きその他の機能を有しており、実際2020現在も開発は継続されているっぽい。

世界的にはvirtualenvのほうが優勢らしい。

 

使い方は基本的には同じだが、仮想環境を作成する時のコマンドが若干違うのと、生成されるファイル構成が少し違う。

 

venv01

 

venv02

 

試しにDjangoをインストールしてみたが、Virtualenvの方が余計なファイルがインストールされてる感じ。

 

venvだと、実行時のpythonのシムリンクが作成される
virtualenvだとpython本体も仮想環境に置かれる

 

ということらしいけど、どちらを使うかは微妙。

 

相対的に余計なものが少なく生成されるvenvなのかな?

ただ、仮想環境を作る時、venvの方が遅い。