Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use the `pipenv install -e .` strategy to include setuptools `install_requires` dependencies in Pipenv. This way abstracted requirements are expressed via `setup.cfg` while concrete dependencies are expressed via `Pipfile.lock`. Since extra requirements are not installed for editable dependencies (until this moment), `testing` dependencies are handled exclusively inside tox/pytest-runner venvs, and `dev` dependencies should be specified directly in the Pipenv file (not included in `setup.cfg`). ref: pypa/pipenv#1094 (comment) pypa/pipenv#1263 (comment) Basic workflow: - Add abstract dependencies to `setup.cfg` - Proxy `setup.cfg` by doing `pipenv install -e .` - Add dev dependencies by doing `pipenv install -d XXXX` - Use `pipenv update -d` to compile concrete dependencies (and install them in a virtualenv) - Add `Pipfile.lock` to source control for repeatable installations: https://caremad.io/posts/2013/07/setup-vs-requirement/ - Use `pipenv run` to run commands inside the venv (e.g. `pipenv run tox`) - Don't expose test requirements directly to pip-tools. Instead, just rely on tox/pytest-runner to install them inside the test venv.
- Loading branch information