python 仮想環境 とは
「管理者、システム権限から隔離された Python
を実行できる環境」を仮想環境と呼ぶ。
実体的にはディレクトリであり venv
( あるいは env
) と表記される。
その配下には Python
バイナリ, pip
, 3rd パーティパッケージ などが集約されている。
簡易例
numpy
を実行できる仮想環境を作る、使う、依存パッケージを抽出する(導入する)
環境
適当な空ディレクトリを作って移動しておく
$ mkdir mytest && cd mytest
仮想環境を作る
$ python3 -m venv ./venv/environment $ source venv/environment/bin/activate (environment) $ which python3 /Users/matsukawa/Develop/python/mytest/venv/environment/bin/python3
3 つ目のコマンドから、仮想環境で Python
を実行していることがわかる。
仮想環境に numpy
を導入する
(environment) $ pip3 install numpy
mytest
ディレクトリ直下に main.py
を作成する
./mytest/main.py
import numpy as np print(np.array([1, 2, 3]))
仮想環境を使う
(environment) $ python3 main.py > 出力 [1, 2, 3]
仮想環境で依存したパッケージを抽出する
他環境へパッケージ導入を知らせる手段としてこれを使う
(environment) $ pip3 freeze > requirements.txt
./mytest/requirements.txt
numpy==1.14.3
導入する時
(environment) $ pip3 install -r requirements.txt
仮想環境から抜け出す
(environment) $ deactivate $
シェル冒頭の (environment)
が消えていること
補足
venv
は各々の環境に配置されるべきなので、ソースコード管理対象からは除外する。