Ubuntu 22.04: pyenv-virtualenv で python 環境を分ける

 
最近仕事で Python 環境作成しまくってるのでメモ。

 

TODO

  • pyenv で複数バージョンの Python をインストール
  • pyenv-virtualenv で同一バージョンの複数環境を構築

 

pyenv

まずは依存パッケージを入れる。

sudo apt install -y 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

それから pyenv をインストール

curl https://pyenv.run | bash

それから .profile に下記を追記

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

pyenv で python 3.11.8 をインストールしてデフォルトにする

pyenv install 3.11.8
pyenv global 3.11.8

インストール済みのバージョンを確認

pyenv versions

 

virtualenv

プロジェクト別に 3.11.8 の環境を分ける。

pyenv virtualenv 3.11.8 project1-env
pyenv virtualenv 3.11.8 project2-env

project1-env の環境を使う

pyenv activate test1env

これで project1 環境に入れたいパッケージを pip で入れれば OK.

元に戻す場合

pyenv deactivate

これで同じバージョンの Python を用途に応じて別のパッケージをインストールできる。