venvによるPython仮想環境作成
venvとは
pythonの仮想環境作成ツール。
ソフトウェア開発を行う上で、使用するライブラリの依存関係を環境ごとに独立させておきたい。
venvを使うことでプロジェクトごとに仮想環境を作成でき、各仮想環境は独立したPythonバイナリとPythonパッケージを保持する。
使い方
仮想環境の作成
python -m venv [venvname]
※venvはpython3の標準機能なので、個別インストールは不要
仮想環境の有効化
//Linux
source [venvname]/bin/activate
//windows
[venvname]/Scripts/activate
有効化を行うことで、このディレクトリでのPython実行には仮想環境が使用される。
具体的には、インストールしたpipパッケージはこの仮想環境でのみ有効になり、
スクリプトの実行にはこの仮想環境のPythonインタプリタが使用される。
パッケージの確認
pip list
その仮想環境にインストールされたパッケージが表示される。
Package Version
---------- -------
package1 x.x.x
package2 x.x.x
...
ちなみに、venv作成時に以下のようにオプションをつけて実行すると、元のpythonにインストールされたパッケージも仮想環境に引き継がれる。
source [venvname]/bin/activate --system-site-packages
無効化
仮想環境の終了は、そのディレクトリ配下で以下を実行。
deactivate
備考: jupyter labへの適用
個人的にjupyter labを使っていて、使用するカーネルを作成したvenvのものにしたい!と思ったので、やり方をメモ。
仮想環境をactivateした状態で、
pip install ipykernel
jupyterにカーネルを追加。
ipython kernel install --user --name=[mame] --display-name=[display_name]
jupyter labでコンソールなりnotebookなりを開く際、venvのインタプリタが選択できるようになっている…はず!
削除は以下。
jupyter kernelspec uninstall [name]