サブロウ丸

Sabrou-mal サブロウ丸

主にプログラミングと数学

pyenvとvirtualenvの使い方

本稿ではpyenv, virtualenvを用いたpythonの仮想環境の構築方法とその操作方法をまとめます。

pyenv

pythonの複数バージョンのインストールや、その管理をサポートするパッケージです。

install

まずはソースコードGitHubから取得します。

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(今回紹介なし)についてメチャクチャ熱量のある記事。より詳細を知りたい人はこちらをどぞ。