pyenv で python をバージョン管理する

概要

  • ブラウザ操作の自動化に際してPythonを使いたい
  • バージョン管理ツールを利用したほうが後で苦労しなさそうなので、phenv 経由で任意のバージョンの python をインストール・切り替えできるようにしておく

導入するもの

作業ログ

pyenvのインストール

Homebrew を使うため、先に update をかける

brew update

pyenv をインストール

brew install pyenv

pyenv経由でpythonをインストール

インストールできるバージョンを一覧で確認
pyenv install -l

2026年1月12日現在の最新バージョンは 3.14.2
参考:https://www.python.org/downloads/

前述のコマンドに grep を組み合わせて、該当バージョンがインストールできることを確認

 % pyenv install -l | grep 3.14.2
  3.14.2
  3.14.2t
バージョンを指定してインストール
pyenv install 3.14.2

実行ログは以下

% pyenv install 3.14.2
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.14.2.tar.xz...
-> https://www.python.org/ftp/python/3.14.2/Python-3.14.2.tar.xz
Installing Python-3.14.2...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import lzma
  File "/Users/hi3103/.pyenv/versions/3.14.2/lib/python3.14/lzma.py", line 28, in <module>
    from _lzma import *
ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?
Installed Python-3.14.2 to /Users/hi3103/.pyenv/versions/3.14.2

インストール済バージョンの一覧を確認

pyenv versions

実行ログは以下

% pyenv versions
* system (set by /Users/hi3103/.pyenv/version)
  3.14.2

pythonのバージョンを切り替える方法

適用したい範囲にあわせて以下を実行する
例:バージョン 3.14.2 を指定する場合

現在のシェルセッションに対して指定
pyenv shell 3.14.2
現在のディレクトリ以下に対して指定
pyenv local 3.14.2
ユーザーアカウントに対してグローバルに指定
pyenv global 3.14.2

スタートアップコマンドを設定

やること

インストールしたPythonは以下のパスに配置される

/Users/ユーザー名/.pyenv/versions/バージョン

python コマンドを実行したときに上記を呼び出せるよう、公式READMEに記載されているスタートアップコマンドを .zshrc に追加する

準備

現状シェルの中で、pyenv 経由でインストールした Python を使う状態にする

pyenv shell 3.14.2

選択できていることを確認

pyenv versions
% pyenv versions
  system
* 3.14.2 (set by PYENV_VERSION environment variable)
現状を確認

python コマンドが動くかを確認

python --version

コマンドが見つからないと言われるので、これからこの状態を解消する

% python --version
zsh: command not found: python
.zshrc にスタートアップコマンドを追加

.zshrc の編集画面を開く

vi ~/.zshrc

以下を記載して保存

# pyenv
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - zsh)"

.zshrc を再読み込み

source ~/.zshrc
反映されたことを確認

python コマンドを実行し、指定したバージョンが表示されることを確認

% python --version
Python 3.14.2

Comments

  • スパム対策のため、コメント本文にURLが含まれている場合は「承認待ち」となり、すぐに投稿が反映されません。ご了承ください。
  • 公序良俗に反する内容、個人が特定できる情報、スパム投稿と思われるコメント等については、予告なく編集・削除する場合があります。