やりたいこと
- Pythonで仮想環境を作るためのvenvを使ってみる。
- venvで作成した仮想環境に、とりあえずpytestをインストールするところまでやってみる。
環境
- macOS monterey 12.2.1
※macとwinで結構コマンドが違うようなので、winの方はこの記事は参考にしないでください。
venvとは
- Pythonの仮想環境を作り出すツール。
- 仮想環境作成は元来「virtualenv」がその役割を担っていたが、Python3.3より、公式でこのツールが提供された。
手順
-
前準備
- 仮想環境を使用したいプロジェクトに移動しておく。
- 「仮想環境のPythonバージョン=ローカルのPythonバージョン」となるので、特定のPythonバージョンを仮想環境にて使用したい場合、ローカルのPythonのバージョンをそちらのバージョンに切り替えておく。(pyenvなどで)
- 仮想環境作成後にPythonのバージョンを切り替えたいときはこちらの記事が参考になります
-
仮想環境を作成する
python -m venv sample-env
プロジェクトのフォルダに「sample-env」ディレクトリが作成されます。
- 仮想環境を有効にする
source sample-env/bin/activate
# ~/Documents/my-project/sample-env
# sample-env $
- 仮想環境にパッケージをインストールする
sample-env $ pip install pytest
- インストールしたパッケージを表示する
sample-env $ pip freeze
pytest==7.0.1
tomli==2.0.1
...
- 「requirements.txt」を作成する
sample-env $ pip freeze > requirements.txt
別の仮想環境で、今の仮想環境と同じパッケージ環境としたい場合、この「requirements.txt」を使用し、以下を実行します。
pip install -r requirements.txt
- 仮想環境を無効化する
sample-env $ deactivate
$