Python超初心者講座 / 第11回

venvで仮想環境を使う

プロジェクトごとにPython環境を分ける

この回の目的
venvは、Python開発で必ず覚えるべき仕組みです。 プロジェクトごとにライブラリ環境を分離し、依存関係の衝突を防ぎます。

仮想環境とは何か

仮想環境とは、プロジェクト専用のPython実行環境です。 OS全体を仮想化するわけではなく、Python本体とライブラリの組み合わせをプロジェクトごとに分ける仕組みです。

なぜvenvが必要か

AというプロジェクトではFlask 2系、BというプロジェクトではFlask 3系が必要な場合があります。 PC全体に直接インストールすると、片方の都合でもう片方が壊れることがあります。 venvを使えば、プロジェクトごとに環境を分けられます。

venvを作る

作業フォルダで次を実行します。
python -m venv .venv
.venv というフォルダが作られ、その中に専用のPython環境が入ります。

venvを有効化する

Windows PowerShell:
.venv\Scripts\Activate.ps1
Windows コマンドプロンプト:
.venv\Scripts\activate.bat
macOS / Linux:
source .venv/bin/activate
有効化されると、ターミナルの先頭に (.venv) のような表示が出ます。

venvの中にライブラリを入れる

python -m pip install flask
python -m pip list
この状態で入れたライブラリは、基本的にそのプロジェクトの .venv に入ります。

venvを終了する

deactivate
仮想環境を抜けるコマンドです。

Gitや配布時の注意

.venv フォルダは通常、Gitに入れません。 環境そのものではなく、requirements.txt を共有します。
python -m pip freeze > requirements.txt
相手側では次のように再構築します。
python -m venv .venv
# 有効化後
python -m pip install -r requirements.txt
練習
  1. 新しいフォルダを作る
  2. python -m venv .venv を実行する
  3. 仮想環境を有効化する
  4. requests を入れる
  5. requirements.txt を作る
venvを使う人は、環境で泣く回数が減ります。完全にゼロにはなりません。そこはPython界の風物詩です。
理解チェック
前の回へ 次の回へ