Python3 Pipenvの導入メモ

pipenvを導入した。以前は、pyenvvirtualenvを使用していた。

目的

仮想環境下でPythonのバージョンアップを簡単にするため。

参考

基本的なことは、 pyenv + virtualenv から pipenv への乗り換えメモ - 適当おじさんの適当ブログ が非常に参考になる。

公式の日本語訳も参考に。 Pipenv: 人間のためのPython開発ワークフロー — pipenv 11.10.1.dev4 ドキュメント

仮想環境の設定についての参考。 Pipenvに移行した話 — kashew_nuts-blog

現状

pyenvvirtualenvを使用していた。

pyenv versionsの一覧が長くなってしまい、なぜか危機感を感じたので、移行してみる。

移行

やることはシンプル。

  1. .python-versionをプロジェクトのルートから削除する
  2. export PIPENV_VENV_IN_PROJECT=true~/.bash_profileなどに追記し、source ~/.bash_profileを実行して読み込む
  3. pipenv installを実行する(プロジェクトのルートディレクトリで)

2によって、仮想環境の情報がプロジェクトのルートディレクトリに.venvディレクトリとして保存される。

補足

  • pipenv installは、Pipfileがなければrequirements.txtを読み込んでくれる。
  • 移行の2を実行しないと、~/.local/...に仮想環境の情報がまとめられる。
    • 個人的にはあまり嬉しくないので、2を行なっている。
  • PipfilePipfile.lockはバージョン管理する。

pipenv installpythonのバージョンがないときは、インストールするかどうか聞かれた気がする。しかし、一度、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…

から、Homebrewpipenv内に保存されるものを使っている。

タイトルとURLをコピーしました