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
内に保存されるものを使っている。
コメント