pipenvめも

前提

  • どっかにプロジェクト用のディレクトリを掘っておく
  • とりあえず今回は~/foo-bar-py としておく
    • mkdir ~/foo-bar-py
    • cd ~/foo-bar-py

install

  • brew install pipenv

ope

プロジェクトの初期化

  • pipenv install --python 3.7.3
    • こんな失敗したら、pyenvがなんかおかしいので、pyenv install 3.7.3 && pyenv local 3.7.3 しておくといいかも。
⠴ Creating virtual environment...Using base prefix '/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7'
New python executable in /Users/xxx/.local/share/virtualenvs/xxx-XoFfHCVs/bin/python3.7
Not overwriting existing python script /Users/xxx/.local/share/virtualenvs/xxx-XoFfHCVs/bin/python (you must use /Users/xxx/.local/share/virtualenvs/xxx-XoFfHCVs/bin/python3.7)
Installing setuptools, pip, wheel...
done.
Running virtualenv with interpreter /usr/local/bin/python3
  • 初期化の際、pipenv installをそのまま実行すると、仮想環境が~/.local/share/virtualenvs/ に作成される
  • それではだいたい具合が悪いので、指定する方法がある

  • $WORKON_HOMEで仮想環境の親ディレクトリを指定

  • export WORKON_HOME=~/foo-bar-py/.venv && pipenv install --python 3.7.3

実行結果

$ tree -a -L 1
.
├── .venv
├── Pipfile
└── Pipfile.lock
  • その他
    • export PIPENV_VENV_IN_PROJECT=1 プロジェクト直下に仮想環境つくる(ただし、プロジェクト直下を判定しているのはPipfileが置かれている場所)
    • $VIRTUAL_ENV すでにある仮想環境を使う。

参考

Pipenvを使ったPython開発まとめ - Qiita

pipenv で任意の場所の仮想環境を使う - Qiita