この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
どうも!大阪オフィスの西村祐二です。
突然ですが、私はPython環境をPipenvで管理しています。
本番で利用するライブラリと開発時のみ利用するライブラリとで分けれたり、npmみたいな使い方ができてとても便利です。
ただ、作成される仮想環境がプロジェクトディレクトリとは別の場所の~/.local/share/virtualenvs/
配下に作られて、エディタの設定や取扱が面倒なときがたまにあります。
そこで今回は備忘録兼ねて、Pipenvで仮想環境をプロジェクトディレクトリ配下に作る設定をしてみます。
環境
pipenv: version 2018.11.26
どうやるか
ドキュメントを眺めていたら設定項目がありました!
https://pipenv.readthedocs.io/en/latest/advanced/#pipenv.environments.PIPENV_VENV_IN_PROJECT
環境変数によって、制御することができるようです。
デフォルト設定としてプロジェクトディレクトリ配下に仮想環境を作成してほしかったので、.zshrc
(bashの人はbashrcなど適宜変更してください)に記載しておきます。
export PIPENV_VENV_IN_PROJECT=true
試してみる
.zshrc
に設定したので、実際にプロジェクト配下に.venv
が作成されるか試してみます。
$ mkdir test
$ cd test
// 環境を作ります
$ pipenv shell
reating a virtualenv for this project…
Pipfile: /Users/yuji/study/python/test/Pipfile
Using /usr/local/Cellar/pipenv/2018.11.26_2/libexec/bin/python3.7 (3.7.3) to create virtualenv…
⠋ Creating virtual environment...Already using interpreter /usr/local/Cellar/pipenv/2018.11.26_2/libexec/bin/python3.7
Using real prefix '/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7'
New python executable in /Users/yuji/study/python/test/.venv/bin/python3.7
Also creating executable in /Users/yuji/study/python/test/.venv/bin/python
Installing setuptools, pip, wheel...
done.
✔ Successfully created virtual environment!
Virtualenv location: /Users/yuji/study/python/test/.venv
Creating a Pipfile for this project…
Launching subshell in virtual environment…
. /Users/yuji/study/python/test/.venv/bin/activate
// .venvが配下に作成されています
$ ls -la
total 8
drwxr-xr-x 4 yuji staff 128 6 8 22:21 .
drwxr-xr-x 11 yuji staff 352 6 8 22:21 ..
drwxr-xr-x 7 yuji staff 224 6 8 22:21 .venv
-rw-r--r-- 1 yuji staff 138 6 8 22:21 Pipfile
// 環境からぬけます
$ exit
きちんと.venv
がプロジェクトディレクトリ配下に作られていました!
さいごに
今回はPipenvで仮想環境の.venv
をプロジェクトディレクトリ配下に作成する方法を紹介しました。
他にも設定がたくさんあるので、これからも紹介していければと思います。
誰かの参考になれば幸いです。