venv について
何をするもの?
- 何をするものか
- Python の実行環境を保持しておいて、切り替えるためのもの
- 具体的には、以下の情報をフォルダに保存
- バージョン : venv を作成したときの python パスにエイリアスが保持される
- pip で入れたパッケージがフォルダ内に保持される
- 環境の切り替え
- フォルダ内にある
activate
ファイルで環境変数を load - 元の状態に戻るには
deactivate
コマンド (上記Loadで有効化されるコマンドのひとつ) を実行
- フォルダ内にある
- 典型的な使い方
- プロジェクト内に
.venv
,venv
のようなフォルダを作って配置 - →
.gitignore
にもあるし、それで合ってる気がする
- プロジェクト内に
後で見たとき用 簡易テンプレ (プロジェクト内に作る場合)
bash
python3 -m venv .venv # 作成
. .venv/bin/activate # アクティベート
activate 呼ぶタイミング
- pip installl する際
- プロジェクト内で python を呼ぶシェルスクリプト内
bash
pip freeze > requirements.txt # インストールしたパッケージを requirements.txt に書き出す
pip install -r requirements.txt # requirements.txt を使ってパッケージをインストール
venv を作成
コマンド
python3 -m venv <環境名>
特定のディレクトリに作成するなら
bash
mkdir ~/python-venvs # 環境を ここの下に作るとする (またはプロジェクトのフォルダ)
cd ~/python-venvs
which python3 # /opt/homebrew/bin/python3 だとする
python3 -V # 3.13.3 だったとする
python3 -m venv brew-3.13.3
→ カレントディレクトリ下に brew-3.13.3
というフォルダで環境が作られる
→ その中の bin/python は brew 版の python にリンクされる
実行した python バージョンに紐づく環境が作られるので、
標準インストール版の Python で venv 作成したい場合は、こう。
bash
/usr/bin/python3 -m venv system-3.9.3