• pyenv
    python自体のバージョンを管理する
  • pipenv
    ライブラリ・パッケージを管理をする

pyenvのinstall

brew install pyenv

設定ファイルに記述。
以下はfish用の設定なので適宜zshやbashように書き換える必要がある。

# config.fish
if set PIPENV_VENV_IN_PROJECT or command -v pyenv &> /dev/null
    pyenv init - | source
    # 仮想環境置き場をプロジェクトディレクトリに含めるようにする
    set -x PIPENV_VENV_IN_PROJECT 1
end

pipenvのinstall

pipenvはpipでinstallするため、まずはpyenvでグローバルの仮想環境を作成しておくと良い。

pyenv install 3.9.0  # pythonのversionは好きなものでいい
pyenv global 3.9.0   # installしたversionをglobalに割り当てる
pip install pipenv

# 確認
which pipenv
/usr/local/var/pyenv/shims/pipenv

仮想環境の作成

ここでは test ディレクトリ(プロジェクト)を作成して、その中に仮想環境を作成する。

# testプロジェクトの作成
mkdir test
cd test

# pythonのインストール
pyenv install 3.10-dev
# もしくは以下のようにpipenvを使ってpyenvと同じことができる
pipenv --python 3.10-dev  # 裏でpyenvを使用している

# pipenvで作成した環境に入る
pipenv shell

ちなみに、.envファイルを用意していればpipenvで仮想環境に入る際に環境変数を自動で読み込んでくれるらしい。

仮想環境及びpipenvの使い方

# ライブラリをバージョン指定せずにインストール
pipenv install numpy

# バージョン指定してインストール
pipenv install numpy==1.14  # バージョンを固定
pipenv install numpy~=1.14  # メジャーバージョンを固定 numpy==1.* と同義

# ライブラリのアップデート
pipenv update

参考資料