MENU

WSLでpyenvをインストールする方法(推奨構成)

pyenvは複数のPythonバージョンを共存・切り替え可能にするバージョン管理ツールである。
WSL上でPython開発環境を整える際、システム標準のPythonを汚さずに複数環境を扱える点で有用である。
ここでは、WSL2 + Ubuntu環境を前提とした最適な手順を解説する。


目次

環境前提

項目内容
OSWindows 10 / 11
WSL バージョン2
Linux ディストリビューションUbuntu 22.04 以降
権限sudo コマンドが利用可能であること

依存パッケージのインストール

PythonのビルドにはCコンパイラと各種ライブラリが必要である。これを最初に導入する。

sudo apt update
sudo apt install -y \
  make build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
  libncurses5-dev libncursesw5-dev xz-utils tk-dev \
  libffi-dev liblzma-dev python3-openssl git

これを省略すると、後のPythonビルドで_sslreadlineモジュールが欠落する場合がある。


pyenvのインストール(推奨)

公式GitHubリポジトリからpyenvを直接取得する。
この方法が最も安全で確実である。

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

環境変数を設定する。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

インストール確認:

pyenv --version

出力例:

pyenv 2.4.17

Pythonバージョンのインストール

pyenvが導入できたら、目的のPythonバージョンをインストールする。

pyenv install 3.12.7
pyenv global 3.12.7
python --version

Pythonのビルドには数分かかる場合がある。
インストール済みのバージョン一覧を確認する場合は以下を実行する。

pyenv versions

(任意)pyenv-virtualenvの導入

プロジェクト単位で仮想環境を作成したい場合は、pyenv-virtualenvを追加する。

git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc

利用例:

pyenv virtualenv 3.12.7 myenv
pyenv activate myenv

APT経由のインストール(非推奨)

Ubuntuにはpyenvパッケージも存在するが、メンテナンスが遅いため避けるべきである。

sudo apt install pyenv

この方法ではプラグイン連携(pyenv-virtualenvなど)が不完全であり、将来的な互換性に問題を生じやすい。


まとめ

方法特徴推奨度
GitHubからクローンして設定最新・再現性が高い★★★★★
APTでインストール手軽だが古い★★☆☆☆
asdf経由で管理言語統合管理を行いたい場合に有効★★★☆☆

補足:インストール後の確認

pyenvはPATHやシェルの初期化に依存するため、設定ミスがあると動作しない。
トラブル時は次のコマンドで状態を確認する。

pyenv doctor

出力される指示に従うことで、環境変数の不整合や依存パッケージ不足を修正できる。


参考URL


この手順に従えば、WSL上で安定かつ最新のpyenv環境を構築できる。
再現性が高く、他の開発環境と同等のPython構成を維持できる点で最も推奨される方法である。

目次