端くれプログラマの備忘録 Python [Python] 複数のバージョンを共存させる (pyenv)

[Python] 複数のバージョンを共存させる (pyenv)

Python 3.9 がインストールされている Linux マシンで、Python 3.7 の環境を作成するには、pyenvvirtualenv を使う方法があります。手順としては、pyenv を使用する方法がシンプルで推奨されます。

Pyenv を使用して Python 3.7 の環境を作成する手順

1. pyenv をインストール

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 python-openssl git

# pyenv をインストール
curl https://pyenv.run | bash

2. シェルに pyenv を設定

.bashrc.zshrc に pyenv の初期化コマンドを追加します。

# bash を使っている場合
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc

# zsh を使っている場合
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
source ~/.zshrc

3. Python 3.7 のインストール

# pyenvを使ってPython 3.7をインストール
pyenv install 3.7.12

# システムで使用するPythonのバージョンを3.7.12に切り替える(必要ならば)
pyenv global 3.7.12

4. 仮想環境を作成

pyenv は pyenv-virtualenv というプラグインを使って、Python の仮想環境を簡単に作成できます。

# 仮想環境の作成
pyenv virtualenv 3.7.12 my-python-3.7-env

# 作成した仮想環境を有効化
pyenv activate my-python-3.7-env

# 仮想環境から抜けるとき
pyenv deactivate

5. pip でパッケージのインストール

仮想環境が有効な状態で pip を使って Python 3.7 の環境にパッケージをインストールします。

pip install <package-name>

この方法で Python 3.9 がインストールされているシステムに Python 3.7 の環境を簡単に構築できます。