概要
https://docs.python.org/3/library/venv.html
- 特定のPythonインタープリタおよびプロジェクト(ライブラリまたはアプリケーション)をサポートするために必要なソフトウェアライブラリやバイナリを閉じ込めるために使用
- デフォルトで、他の仮想環境やオペレーティングシステムにインストールされたPythonインタープリタやライブラリから隔離される
- Gitなどのソース管理システムにはチェックインされない
- 使い捨てる(プロジェクトのコードは環境内に置かない)
- 移動可能またはコピー可能と見なさない。( 対象の場所で同じ環境を再作成する)
仮想環境の作成
python3 -m venv .venv
Python 3.5 以降、 venv の使用が推奨
python 3.6 以降、pyvenvは非推奨
仮想環境のアクティベート
| プラットフォーム | シェル | コマンド |
|---|---|---|
| POSIX | bash/zsh | $ source <venv>/bin/activate |
| ^ | fish | $ source <venv>/bin/activate.fish |
| ^ | csh/tcsh | $ source <venv>/bin/activate.csh |
| ^ | PowerShell | $ <venv>/bin/Activate.ps1 |
| Windows | cmd.exe | C:\> <venv>\Scripts\activate.bat |
| ^ | PowerShell | PS C:\> <venv>\Scripts\Activate.ps1 |
- アクティベートは必ずしも必須ではない
- Pythonスクリプトのシェバン(通常は
#!/usr/bin/env python3など)を#!/<path-to-venv>/bin/pythonとすればいい
仮想環境のディアクティベート
deactivate
VS Codeで受け付けない場合は source deactivate
requirements.txt
生成
pip freeze > requirements.txt
インストール
pip install -r requirements.txt
アンインストール
pip freeze | xargs pip uninstall -y
xargsは 標準入力からのコマンドをビルドして実行するコマンド
python -m pip uninstall [options] <package> ...
python -m pip uninstall [options] -r <requirements file> ...
https://pip.pypa.io/en/stable/cli/pip_uninstall/#pip-uninstall