🥙

pyenv の導入手順と使い方ガイド

に公開

🚀 はじめに

pyenvは、Pythonの複数バージョンを簡単に切り替えて利用できるバージョン管理ツールです。プロジェクトごとに異なるPythonバージョンが必要な場合でも、pyenvを使えば柔軟に環境を構築できます。Python開発者にとって非常に便利なツールなので、ぜひ導入してみましょう。

この記事ではWindowsおよび、Linuxにpyenvを導入する手順を紹介します。

🎈 Windowsにpyenvをインストールする

💠 pyenv-winについて

Windowsでは pyenv-win を使用します。pyenv-winはもともとUnix系で作られたpyenvをWindows用に移植したものです。公式リポジトリは以下になります。

https://github.com/pyenv-win/pyenv-win

いろんなインストール方法がありますが、PowerShellを使ってインストールするのが一番簡単です。

💠 インストール

PowerShellを管理者として起動し、以下のコマンドを実行します。

このコマンドはPowerShellの署名付きのスクリプト実行(RemoteSigned)を有効化します。実行後、Yを入力してEnterしてください。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

続けて、インストール用スクリプトをダウンロード&実行します。

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

インストールが完了したら、一度PowerShellを再起動してください。

💠 インストール確認

PowerShellで以下のコマンドを実行し、バージョンが表示されればインストール成功です。

pyenv --version

💠 アンインストール

インストールしたpyenvは以下の手順でアンインストールできます。
pyenv installでインストールしたPythonも削除されます

1. インストールディレクトリを削除

エクスプローラーで
C:\Users\ユーザー名\.pyenv\pyenv-win
(もしくは自分がインストールした場所)
をフォルダごと削除してください。

2. ユーザー環境変数からpyenv-winのパスを削除

環境変数ウィンドウを開き、ユーザー環境変数のPathに登録されている
C:\Users\ユーザー名.pyenv\pyenv-win\bin
C:\Users\ユーザー名.pyenv\pyenv-win\shims
を削除します。

3. システム環境変数からPYENV変数を削除

環境変数ウィンドウを開き、システム環境変数に登録されている次の3つの変数を削除します。
PYENV
PYENV_HOME
PYENV_ROOT


🎈 Linuxにpyenvをインストールする

💠 pyenvについて

先に述べた通り、Pythonの複数バージョンを簡単に切り替えて利用できるバージョン管理ツールです。pyenv-winがWindows用に対して、こちらはLinux/UNIX、macOS用の本家となります。
公式リポジトリは以下になります。

https://github.com/pyenv/pyenv

💠 インストール

ターミナルを起動し、次のコマンドを実行しpyenvをインストールします。

curl -fsSL https://pyenv.run | bash

続いてシェル環境を設定します(bashの場合)。
~/.bashrcをエディタで開いて、末尾に次の行を追加します。

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

同じように、~/.profile~/.bash_profile~/.bash_loginファイルの末尾にも上記テキストを追加します(存在するファイルのみでOKです)。

ファイルの編集が完了したら、次のコマンドを実行して変更を反映します。

exec "$SHELL"

💠 macOSについて

macOSの場合も上記Linuxの手順が使えるようです。ただ公式では Homebrew を使用した方法が推奨されています。この手順についても公式サイトに記載がありますので、そちらをご確認ください。

💠 依存モジュールのインストール

pyenv は Python 本体をインストールする際、ソースコードから自分のPC上でビルド(コンパイル)してインストールする場合があります。そのため、そのビルドに必要なモジュールを追加でインストールしておく必要があります。

# Ubuntu/Debian/Mintの場合
sudo apt update
sudo apt install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

💠 インストール確認

ターミナルで以下のコマンドを実行し、バージョンが表示されればインストール成功です。

pyenv --version

💠 アンインストール

インストールしたpyenvは以下の手順でアンインストールできます。
pyenv installでインストールしたPythonも削除されます

1. pyenvの本体ディレクトリを削除

rm -rf ~/.pyenv

2. シェルの設定ファイルからpyenv関連の行を削除

~/.bashrc~/.profile などに追記した下記設定を削除します。

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

3. シェルを再起動 or 設定ファイルを再読み込み

exec "$SHELL"

📖 pyenvの使い方

pyenvをインストールしたら、実際にPython本体をインストールしたり切り替えたりしてみましょう。
ここでは、よく使う基本的なコマンドを紹介します。

💠 1. バージョンを指定してPython本体をインストールする

たとえば、Python 3.12.0 をインストールしたい場合は、次のコマンドを実行します。

pyenv install 3.12.0

pyenvでは複数のPythonバージョンを同時にインストールすることができます。たとえば、続いて次のコマンドを実行するとPythonのバージョン3.12.03.13.0が同じコンピュータにインストールされます。

pyenv install 3.13.0

インストール可能なPythonのバージョンは以下のコマンドで調べることができます。

pyenv install --list

💠 2. Pythonのバージョンを切り替える

pyenvではコンピュータにインストールされている複数のPythonのバージョンをコマンドで簡単に切り替えて使うことができます。

システム全体で使うバージョンを変更したい場合

次のコマンドを実行すると、システム全体で使われるPythonのバージョンが決まります。この例でいうと、ターミナルからpythonを実行すると、バージョン3.12.0が起動します。

pyenv global 3.12.0

プロジェクトごとにバージョンを固定したい場合

次のコマンドを実行すると、カレントディレクトリ配下で使用されるPythonのバージョンが決まります。この例でいうと、このディレクトリ配下からpythonを実行すると、バージョン3.10.11が起動します。

pyenv local 3.10.11

この場合、ディレクトリ内に .python-version というファイルが作成され、そこに起動するバージョン番号が記載されています。このlocal設定はglobal設定より優先されるので、global設定がされていてもこのディレクトリ配下では常にlocalで指定されたPythonバージョンが起動します

💠 3. インストールされているPythonバージョンを確認する

pyenv installでインストールしたPythonのバージョンを確認するには次のようにします。

pyenv versions

💠 4. 不要になったPythonバージョンを削除する

pyenv installでインストールしたPythonを削除するには次のコマンドを実行します。

pyenv uninstall 3.9.18

📝 まとめ

pyenv(pyenv-win)は、複数のPythonバージョンを簡単に切り替えて使いたい人にとって必須ともいえる便利なツールです。私自身も最早、pyenvなしのPython開発なんて考えられないほどです。

pyenvの偉いところ
💡 新しいPythonバージョンが必要になった時もpyenvなら数コマンドでOK!
💡 プロジェクトごとに違うPythonのバージョンを使用可能!
💡 チーム開発でも環境の食い違いを防げる!

本記事で紹介したインストール手順やコマンドを活用して、
快適なPython開発ライフを始めてみましょう!

それでは今回はこの辺で。
じゃあね♪ バイバイ😊

Discussion