pyenvとは?
pyenvは、Pythonのバージョン管理ツールの1つであり、pyenvは複数のバージョンのPythonを同時にインストールして切り替えることができるツールです。
インストール方法
Macの場合
Homebrewを使って簡単にインストールできます。
brew install pyenv
Ubuntuの場合
以下の手順でUbuntuへpyenvをインストールします。
- 必要な依存パッケージのインストール - export DEBIAN_FRONTEND=noninteractive
 apt update
 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 git
- pyenvのインストール(GitHubからクローン) - git clone https://github.com/pyenv/pyenv.git ~/.pyenv
- シェルの設定 プロファイルファイルに以下のコードを追加します。(~/.bashrc, ~/.bash_profile, など、お使いのシェルに応じて適切なファイルを編集してください) - export PYENV_ROOT="$HOME/.pyenv"
 export PATH="$PYENV_ROOT/bin:$PATH"
 eval "$(pyenv init --path)"
 eval "$(pyenv init -)"- 設定を反映させるために、ターミナルを再起動するか、以下のコマンドを実行します。 - source ~/.bashrc # または適切なファイルを指定して読み込む
Dockerfile
Dockerで環境を構築する場合は、以下を参考にしてください。
FROM ubuntu:22.04
ENV PYENV_ROOT /.pyenv
ENV PATH $PYENV_ROOT/bin:$PATH
# timezone setting で止まる問題の対策
ENV DEBIAN_FRONTEND=noninteractive 
# pyenvに必要なパッケージのインストール
RUN apt update && apt upgrade \
    && 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 git
# pyenvのインストール
RUN git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
RUN echo 'eval "$(pyenv init -)"' >> ~/.bashrc && \
    eval "$(pyenv init -)"
使い方
pyenvの基本的な使い方は以下の通りです。
- インストール可能なPythonバージョンの一覧を表示する: - pyenv install --list
- 特定のバージョンのPythonをインストールする: - pyenv install <バージョン>
- インストール済みのPythonバージョンの一覧を表示する: - pyenv versions
- グローバルなPythonバージョンを設定する: - pyenv global <バージョン>
- プロジェクトごとにPythonバージョンを設定する: - pyenv local <バージョン>
- 現在のシェルセッションでのみPythonバージョンを設定する: - pyenv shell <バージョン>
- システムにインストールされたPythonバージョンを無視する: - pyenv shell <バージョン>
- 特定のディレクトリにおけるPythonバージョンを優先する: - pyenv shell <バージョン>
- 使用可能なPythonバージョンを検索する: - pyenv which <コマンドまたはバージョン>
これらのコマンドを使って、必要なPythonバージョンを選択し、簡単に切り替えることができます。