本稿ではpyenv, virtualenvを用いたpythonの仮想環境の構築方法とその操作方法をまとめます。
pyenv
pythonの複数バージョンのインストールや、その管理をサポートするパッケージです。
install
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
次に、環境変数の設定を行い、pyenvコマンドを利用できるようにします。そのために、~/.bashrcや~/.bash_profile, ~/.zshrcに下記を追記してパスを通します。
export PYENV_ROOT=${HOME}/.pyenv export PATH=${PYENV_ROOT}/bin:$PATH eval $(pyenv init --path)
pyenv操作
- pyenvのバージョンを確認
pyenv -v
- pyenvでインストール出来るpythonのバージョンを確認
pyenv install -l
- pureな3系のみを表示したい場合は
pyenv install -l | grep -e "\s3"
- 特定のpythonのバージョンのインストール
pyenv install 3.10.5
- installしたpythonのバージョンを確認
pyenv versions
- pyenvで使用するpythonのバージョンを指定
pyenv-virtualenv
virtualenvを用いるとpythonのバージョンを同一にした別々の環境を作ることができます。たとえばpython3.10.0をベースにした環境を用途によって複数作成できます。
install
ソースコードの取得
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
環境構築
eval "$(pyenv virtualenv-init -)"
virtualenv操作
- 使用可能なバージョンを確認
pyenv versions
- 使用可能なバージョン(3.10.5)から仮想環境(3.10.5_v1)を作成
pyenv virtualenv 3.10.5 3.10.5_v1
- 仮想環境(3.10.5_v1)から仮想環境(3.6.3_v1cp)を構築
pyenv virtualenv 3.10.5_v1 3.10.5_v1cp
- pyenvの仮想環境(virtual-name)を削除
pyenv uninstall virtual-name
インストール時のエラー & Warning
pyenvによるpythonインストール時にエラーや警告が表示される場合は必要なパッケージやライブラリが不足している場合が多いです。Ubuntuであれば
sudo apt-get install -y libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev libncurses-dev libffi-dev libssl-dev zlib1g
などのライブラリのインストールが必要な場合があります。
参考
また、pyenvやpoetry(今回紹介なし)についてメチャクチャ熱量のある記事。より詳細を知りたい人はこちらをどぞ。