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 gitpyenvのインストール(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バージョンを選択し、簡単に切り替えることができます。