Windowsメインで使用しているけれどmacOSの勉強中です。
macOSでPython環境を構築したので備忘的なメモを残します。
venvでの仮想環境は少し時間が立つと何の環境を作ったのか忘れるので、コマンド実行すると環境を選択できるように作ってみました(汗
macOSでPython環境構築
- 前編:pyenvで複数バージョンのPythonをインストールする
- 後編:venvでPython仮想環境を作成する
- 本記事です
目次
検証環境
- 検証日: 2024/01/31
- 実行環境
- PC
- Mac mini M2チップ 2023
- macOS Sonoma 14.2.1, Build 23C71
- zsh 5.9 (x86_64-apple-darwin23.0)
- Homebrew 4.2.8
- pyenv 2.3.35
- Python 3.10.13
- Python 3.11.7
- Python 3.12.1
- PC
注意事項
- コマンド内の変数やパラメータやは検証で使用したものを記載しています。ご自身の環境に合わせ、書き換えて使用してください。
- 個人で検証しているため実行結果に責任は持てません。必ずご自身でも検証してから使用してください。
1. ディレクトリ構造/仮想環境名
ディレクトリ構造はこのようにしています。
- ホームにvenv仮想環境専用の
envs
ディレクトリを作成。~/envs
envs
ディレクトリ内へ仮想環境毎にディレクトリを作成。- ※既に2つ作成済み。今回は1つ追加する。
~/envs/bluesky
~/envs/boto3
- 各ディレクトリ内へ仮想環境を作成。仮想環境名は
.venv
で統一。~/envs/bluesky/.venv
~/envs/boto3/.venv
2. venv仮想環境の作成
今回は 仮想環境名 hatena
を作成します。
2.1. ~/envs
へ仮想環境用のディレクトリを作成する。
# ディレクトリの作成 DIRECTORY="hatena" mkdir -p ~/envs/$DIRECTORY # 作成したディレクトリへ移動 cd ~/envs/$DIRECTORY
2.2. 仮想環境で使うPythonバージョンを指定する
macOSにpyenvでインストールしたPythonの一覧を確認し、仮想環境で使うPythonバージョンを localコマンドで指定する。
# 変更前の確認 pyenv versions python --version # ディレクトリ以下で使用するPythonバージョンを指定する pyenv local 3.10.13 # 変更後の確認 pyenv versions python --version which python
# 実行結果 hatena % pyenv versions system 3.10.13 3.11.7 * 3.12.1 (set by /Users/USERNAME/.pyenv/version) hatena % python --version Python 3.12.1 hatena % pyenv local 3.10.13 hatena % pyenv versions system * 3.10.13 (set by /Users/USERNAME/envs/hatena/.python-version) 3.11.7 3.12.1 hatena % python --version Python 3.10.13 hatena % which python /Users/USERNAME/.pyenv/shims/python
localコマンドは実行したディレクトリ配下で使用するPythonバージョンのみを変更するため、仮想環境をディレクトリ毎に分けることで有効に動作する。
1つ上のディレクトリに戻ってPythonバージョンを確認すると、globalコマンドで指定したPythonバージョンになる。
hatena % cd .. envs % python --version Python 3.12.1
2.3. 仮想環境を作成する(名前は .venv
で統一)
仮想環境名は .venv
で統一しています。
cd ~/envs/$DIRECTORY python -m venv .venv
2.4. 作成した仮想環境の有効化
source .venv/bin/activate python --version which python
# 実行結果 hatena % source .venv/bin/activate (.venv) hatena % python --version Python 3.10.13 (.venv) hatena % which python /Users/USERNAME/envs/hatena/.venv/bin/python
2.5. 仮想環境でpipとsetuptoolsを最新化する
pip list python -m pip install --upgrade pip pip install --upgrade setuptools
2.6. 仮想環境から抜ける
deactivate
# 実行結果 (.venv) hatena % deactivate hatena %
3. 次回以降、作成した仮想環境へ入る
envs
ディレクトリへ移動envs
ディレクトリ内の仮想環境ディレクトリを番号で表示- 番号を入力してください
- 選択した仮想環境ディレクトリへ移動
- 仮想環境を有効化する
cd ~/envs/ && select DIRECTORY in *; do [[ -d $DIRECTORY ]] && break; done && cd ~/envs/$DIRECTORY && source .venv/bin/activate # 番号の選択をします。仮想環境を有効化するディレクトリを選択してください。
# 実行結果 ~ % cd ~/envs/ && select DIRECTORY in *; do [[ -d $DIRECTORY ]] && break; done && cd ~/envs/$DIRECTORY && source .venv/bin/activate 1) bluesky 2) boto3 3) hatena ?# 3 (.venv) hatena %