普段何気なく利用している、venvを利用した環境構築について簡単にまとめてみました。
venvを利用するメリット
そもそも最初期は「なんで直接PCにインストールしたらいけないの?面倒くさくない?」と思っていたので、まずはそのメリットを説明します。
- 他の環境(PC)でも同じ環境を作成しやすい
- いわゆる仮想環境系の全般に共通した話
- 他の環境を壊さずに済む
- 例えば、Django4系のプロジェクトがあるとする
- 新規にDjango5系を利用するプロジェクトを作成する必要が出てきた
- Djangoのバージョンを上げる = Django4系のプロジェクトが破壊されてしまう
- 仮想環境を利用することで、両方を満たす環境を作成できる
Macでの手順の一例を紹介
私がよく使うコマンドは以下
python3 -m venv venv source venv/bin/activate
もう少し、それぞれ何をしているのか見てみます。
python3 -m venv venv について
python3
python3
部分は人によってはpython
や特定バージョンを利用したい時にはpython3.12
などになる- 自身の
$PATH
が通っているPythonを指定することになる- =
python3
とターミナルで叩いた時に利用されるバージョンを利用する、ということ
- =
後続の
venv
モジュールをスクリプトとして実行するという意味になる最後の
venv
は作成する環境の名前- 観測範囲だと多いものは
venv
なので、自分の場合、普段はvenv
としていることが多い
source venv/bin/activateについて
python3 -m venv venv
で作成した仮想環境を有効にする。
これで仮想環境を利用する準備は整ったので、あとは必要に応じてコードを書いたり、pip install django
などをしていけば大丈夫です。
一度作った環境を無効化・削除するとき
例えば、最初に実行するpython3
でPython3.12の$PATH
が通っていて、本来利用したいのはPython3.11など別バージョンだった場合、環境を作り直す必要があります。
そのときは、以下のコマンドを実行します。
deactivate rm -r venv
別バージョンのPythonを利用する場合
他のバージョンを利用したい時にはpython3.11 -m venv venv
のように特定のバージョンを指定します。
最初の例だと、python3
としていましたが私の環境ではPython3.12の$PATH
が通っており、ちょっとしたコードは最新バージョンで書くことが多いので簡略化した例を紹介していた具合でした。