TL;DR
- 基本的には pipenvを使えばOK
- pipenv が他ツールのラッパーになっている
- pip と venv も、直接使う機会は少ないが知っておくべき
- LinuxやMac なら pyenv, direnvも使うと便利
- プロジェクトにはとりあえず以下の4ファイルを含める
- setup.py
- setup.cfg
- Pipfile
- Pipfile.lock
- requirements.txt はレガシーなので他ファイルに移行する
- 「依存パッケージのバージョン」は、プロジェクトによって書くべきファイルが異なる
- 私のプロジェクトはライブラリだ → setup.cfg
- 私のプロジェクトはアプリケーションだ → Pipfile と Pipfile.lock