このブログ記事では、複数のPythonバージョンと仮想環境を簡単に管理できる強力なツールである pyenvpyenv-virtualenv の使用方法について説明します。MacやLinuxなど様々なプラットフォームでのインストール方法を説明し、これらのツールの最も頻繁に使用される機能についても説明する予定です。本講座の終了時には、開発ワークフローにおいてこれらのツールを効果的に使用する方法について、しっかりと理解することができるはずです。

I. 概要

pyenv は Python の強力なバージョン管理ツールで、複数の Python のインストールやバージョン切り替えを簡単に行うことができます。pyenv-virtualenvpyenv の拡張で、複数の仮想環境を管理することができます。これらのツールは、依存関係やPythonのバージョンが異なる複数のプロジェクトで作業する場合に特に有用です。

II. インストール

Mac

macOSにpyenvpyenv-virtualenvをインストールするには、Homebrewを使用します:

brew update
brew install pyenv
brew install pyenv-virtualenv

インストール後、シェルの設定ファイル(.bashrc.zshrcなど)に以下の行を追加してください:

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi
if command -v pyenv-virtualenv-init 1>/dev/null 2>&1; then
  eval "$(pyenv virtualenv-init -)"
fi

Linux

Linuxで pyenvpyenv-virtualenv をインストールするには、まずリポジトリをcloneして PATH に追加します:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

次に、シェルの設定ファイル(.bashrc.zshrcなど)に以下の行を追加します:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

III. 使用方法

1. Pythonのバージョンをインストールする

特定のバージョンのPythonをインストールするには、installコマンドを使用します:

pyenv install 3.9.5

2. 利用可能なPythonのバージョン一覧

インストールされているすべてのPythonのバージョンを確認するには、versionsコマンドを使用します:

pyenv versions

3. グローバルなPythonのバージョンを設定する

グローバルなPythonのバージョンを設定するには、globalコマンドを使用します:

pyenv global 3.9.5

4. ローカルのPythonのバージョンを設定する

特定のプロジェクトのローカルPythonバージョンを設定するには、プロジェクトディレクトリ内でlocalコマンドを使用します:

pyenv local 3.8.10

5. 現在のPythonのバージョンを確認する

現在のPythonのバージョンを確認するには、versionコマンドを使用します:

pyenv version

6. 仮想環境を作成する

pyenv-virtualenvで新しい仮想環境を作成するには、virtualenvコマンドを使用します:

pyenv virtualenv 3.9.5 my-project-env

7. 仮想環境を起動する

仮想環境をアクティブにするには、activateコマンドを使用します:

pyenv activate my-project-env

8. 仮想環境を停止させる

現在の仮想環境を無効にするには、deactivateコマンドを使用します:

pyenv deactivate

9. 利用可能な仮想環境の一覧

作成したすべての仮想環境を一覧表示するには、virtualenvsコマンドを使用します:

pyenv virtualenvs

10. 仮想環境を削除する

仮想環境を削除するには、uninstallコマンドを使用します:

pyenv uninstall my-project-env

Bonus: Rehash

実行可能なスクリプトを含む新しい Python パッケージをインストールするときは、必ず rehash コマンドを実行してシムを更新し、新しいスクリプトが利用可能であることを確認する必要があります:

pyenv rehash

IV. Conclusion

pyenvpyenv-virtualenv は、開発ワークフローにおいて複数の Python バージョンと仮想環境を管理するための貴重なツールです。このガイドで説明する機能を使えば、依存関係やPythonのバージョンが異なる複数のプロジェクトで作業するのに十分な設備が整うでしょう。これらのツールを使って、クリーンで整理された開発環境を維持し、生産性を向上させ、依存関係の衝突のリスクを低減してください。