PR

Ubuntu 22.04 での pyenv インストールと使い方

Python の異なるバージョンを簡単に切り替えたり管理したい場合に便利なのが pyenv です。本記事では、Ubuntu 22.04 環境での pyenv のインストール方法と基本的な使い方について解説します。

前提条件

  • Ubuntu 22.04 がインストールされた環境
  • 基本的な Linux コマンド操作の知識

1. 必要な依存関係のインストール

pyenv を利用するには、Python のビルドに必要なライブラリを事前にインストールしておく必要があります。

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

2. pyenv のインストール

2.1 GitHub リポジトリからインストール

pyenv は GitHub のリポジトリからインストールします。

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

2.2 環境変数の設定

pyenv をシェルで使用できるようにするため、環境変数を設定します。~/.bashrc または ~/.zshrc に以下を追記してください。

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

変更を反映するために、以下のコマンドを実行します。

source ~/.bashrc  # または source ~/.zshrc

2.3 インストール確認

以下のコマンドで pyenv が正しくインストールされたか確認します。

pyenv --version

3. Python のインストールと管理

3.1 利用可能な Python バージョンの確認

以下のコマンドで、インストール可能な Python バージョンを確認できます。

pyenv install --list

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

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

pyenv install 3.13.1

インストール後に利用可能なバージョンを確認するには、以下を実行します。

pyenv versions

3.3 Python バージョンの切り替え

グローバル(全体)設定

全体で使用する Python バージョンを設定するには、以下を実行します。

pyenv global 3.13.1
ローカル(プロジェクトごと)設定

特定のディレクトリでのみ使用するバージョンを設定するには、以下を実行します。

pyenv local 3.13.1
一時的な切り替え

一時的にバージョンを切り替える場合は、以下を実行します。

pyenv shell 3.13.1

4. トラブルシューティング

4.1 Python が正しくビルドされない場合

必要な依存関係が不足している可能性があります。以下のコマンドで依存関係を再確認してください。

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

4.2 PATH の設定が正しくない場合

環境変数の設定を再確認し、source ~/.bashrcを実行してください。


5. まとめ

pyenv を使用することで、異なるバージョンの Python を簡単にインストールおよび管理できます。本記事では基本的なセットアップ手順とコマンドを紹介しましたが、詳細な使い方やカスタマイズについては公式ドキュメントも参考にしてください。

公式サイト: pyenv GitHub

コメント

タイトルとURLをコピーしました