pyenv は、複数の Python バージョンを簡単にインストール・切り替えできるツールです。
開発環境ごとに異なる Python バージョンを使い分けたい場合や、特定プロジェクトに専用のバージョンを設定したいときに利用されます。
構文(Syntax)
pyenv <コマンド> [オプション]
主なコマンド一覧
| コマンド | 説明 | 使用例 |
|---|---|---|
install <version> | 指定バージョンの Python をインストール | pyenv install 3.11.6 |
uninstall <version> | 指定バージョンをアンインストール | pyenv uninstall 3.9.10 |
versions | インストール済みの Python 一覧を表示 | pyenv versions |
version | 現在利用中の Python バージョンを表示 | pyenv version |
global <version> | システム全体のデフォルトを設定 | pyenv global 3.10.8 |
local <version> | カレントディレクトリ専用のバージョンを設定(.python-version に保存) | pyenv local 3.9.7 |
shell <version> | 一時的にシェルで利用するバージョンを設定 | pyenv shell 3.8.13 |
which <command> | 実際に利用される Python のパスを表示 | pyenv which python |
rehash | shims を再構築 | pyenv rehash |
update | pyenv を更新 | pyenv update |
実行例
Python 3.11.6 をインストール
pyenv install 3.11.6
インストール済みバージョンを確認
pyenv versions
出力例:
system
3.9.10
* 3.11.6 (set by /home/user/.pyenv/version)
デフォルトの Python を設定
pyenv global 3.11.6
プロジェクトごとにバージョンを設定
cd myproject
pyenv local 3.9.10
(myproject/.python-version に記録される)
一時的にシェルで利用するバージョンを変更
pyenv shell 3.8.13
実際に使われる Python のパスを確認
pyenv which python
出力例:
/home/user/.pyenv/versions/3.11.6/bin/python
エラー例(未インストールのバージョンを指定)
pyenv global 3.7.9
出力例:
pyenv: version `3.7.9' not installed
関連コマンド
python: 実際の Python 実行コマンド。pip: パッケージ管理ツール。virtualenv: 仮想環境を作成・管理するツール(pyenv-virtualenv と組み合わせ可能)。
備考
pyenvは$PATHの先頭に shims を挟み込み、呼び出しを適切な Python バージョンに切り替える仕組み。- プロジェクトごとに異なるバージョンを
.python-versionファイルで管理できるため、環境の切り替えが容易。 pyenv-virtualenvプラグインを導入すると仮想環境の作成・管理も統合できる。
参考
- GitHub (pyenv): https://github.com/pyenv/pyenv
- ドキュメント: https://github.com/pyenv/pyenv#readme

コメント