サブロウ丸

サブロウ丸

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

pyenv, virtualenv 環境設定手順 & 操作方法のまとめ; Python

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