Pyenvとvenvを用いたローカル環境のセットアップ方法

概要

macのローカル環境で開発を行う際のpythonの環境構築の方法について記載します。
今回は以下の2つの仕組みを利用して、pythonのバージョン管理と仮想環境の管理を行います。

  • pyenv
    • 複数のpythonのバージョンを扱うために利用します。
  • venv
    • プロジェクトごとに環境を分けるために利用します。

それぞれの違いや必要性の解説はこちらの記事が参考になります。

Pythonのインストール

まずは、ローカル環境にPyenvをインストールし、任意のPythonバージョンを利用できるようにします。

pyenvをインストールします。

1
brew install pyenv

インストールしたpyenvのバージョンを確認します。

1
2
pyenv --version
pyenv 2.3.35

zshに設定を追加します。

1
2
3
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc    
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

.zshrcの内容を読み込みます。

1
source ~/.zshrc

インストール可能なPythonのバージョン一覧を表示します。

1
pyenv install --list

指定したバージョンをインストールします。

1
pyenv install 3.11.7

プロジェクトフォルダに指定したPythonのバージョンを利用します。

1
2
3
cd <作成したプロジェクトフォルダ>
pyenv local 3.11.7
pyenv versions

globalの場合は全体に反映されます。

1
pyenv global 3.11.7

実行されているpythonのバージョンを確認します。

1
python -V

venvで仮想環境の作成

プロジェクトのディレクトリに仮想環境を作成します。

1
2
# python -m venv <仮想環境名>
python -m venv venv

仮想環境を有効化します。

1
source venv/bin/activate

ディアクティベートは以下のコマンドで実行できます。

1
deactivate

venvのアップデート方法

依存パッケージを最新化する場合は、仮想環境を有効化した上で以下を実行します。requirements.txt を利用しているなら、ファイルを更新した後に再インストールするとよいでしょう。

1
2
3
source venv/bin/activate
pip install --upgrade pip
pip install -U -r requirements.txt

Pythonのマイナーバージョンを上げるときは、pyenv で新しいバージョンを入れ直したあと、仮想環境を作り直すとライブラリの整合性が保ちやすいです。

1
2
3
4
5
6
pyenv install 3.12.2
pyenv local 3.12.2
rm -rf venv
python -m venv venv
source venv/bin/activate
pip install -U -r requirements.txt

venvの削除方法

不要になった仮想環境はディレクトリごと削除すればよいです。作業ディレクトリを確認した上で実行してください。

1
rm -rf venv

以上でローカル環境の構築が完了です。