pipenvを導入した。以前は、pyenvとvirtualenvを使用していた。
目的
仮想環境下でPythonのバージョンアップを簡単にするため。
参考
基本的なことは、 pyenv + virtualenv から pipenv への乗り換えメモ - 適当おじさんの適当ブログ が非常に参考になる。
公式の日本語訳も参考に。 Pipenv: 人間のためのPython開発ワークフロー — pipenv 11.10.1.dev4 ドキュメント
仮想環境の設定についての参考。 Pipenvに移行した話 — kashew_nuts-blog
現状
pyenvとvirtualenvを使用していた。
pyenv versionsの一覧が長くなってしまい、なぜか危機感を感じたので、移行してみる。
移行
やることはシンプル。
.python-versionをプロジェクトのルートから削除するexport PIPENV_VENV_IN_PROJECT=trueを~/.bash_profileなどに追記し、source ~/.bash_profileを実行して読み込むpipenv installを実行する(プロジェクトのルートディレクトリで)
2によって、仮想環境の情報がプロジェクトのルートディレクトリに.venvディレクトリとして保存される。
補足
pipenv installは、Pipfileがなければrequirements.txtを読み込んでくれる。- 移行の
2を実行しないと、~/.local/...に仮想環境の情報がまとめられる。- 個人的にはあまり嬉しくないので、
2を行なっている。
- 個人的にはあまり嬉しくないので、
PipfileとPipfile.lockはバージョン管理する。
pipenv installでpythonのバージョンがないときは、インストールするかどうか聞かれた気がする。しかし、一度、pipenv --rmで仮想環境を削除すると、訪ねられなくなってしまった。このような表示が現れる。
$ pipenv install
Warning: Python 3.6 was not found on your system…
You can specify specific versions of Python with:
$ pipenv --python path/to/python
仕方ないので、次のようにバージョンを指定して構築した。
$ pipenv install --python /usr/local/Cellar/python/3.6.5/bin/python3.6
なお、最初にpipenv installした時は、
$ pipenv install
Creating a virtualenv for this project…
Using /usr/local/Cellar/pipenv/11.10.0/libexec/bin/python3.6 (3.6.5) to create virtualenv…
から、Homebrewのpipenv内に保存されるものを使っている。


コメント