-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
C: PEP 517 impactAffected by PEP 517 processingAffected by PEP 517 processingC: requirement fileUsing `requirements.txt`Using `requirements.txt`auto-lockedOutdated issues that have been locked by automationOutdated issues that have been locked by automation
Description
Relevent issues:
Environment
- pip version: 19.1
- Python version: 3.6
- OS: Linux
Description
pip install
fails with a requirements file that references a setup.py file, in a project that has a pyproject.toml file that has no build tooling section.
My project setup:
setup.py # Contains the actual project/package requirements
pyproject.toml # Contains only 2 lines of black configuration
requirements/base.txt # Contains only `-e .`
requirements/testing.txt # Contains `-r base.txt` and then other stuff like pytest etc.
src/mypackage/... # Actual project/package code
This setup allows us to:
- Specify the project requirements exactly once (in the setup.py)
- Use a command like
pip install -r requirements/testing.txt
to install both the project requirements along with other stuff needed to run the tests. - Build the package with
python setup.py sdist
The suggested workaround in #6370 (comment) doesn't seem to work for me:
pip install --no-use-pep517 -q --upgrade --requirement /..../src/requirements/development.txt
ERROR: Error installing 'file:///.... (from -r /..../src/requirements/_base.txt (line 1))': editable mode is not supported for pyproject.toml-style projects. pip is processing this project as pyproject.toml-style because it has a pyproject.toml file. Since the project has a setup.py and the pyproject.toml has no "build-backend" key for the "build_system" value, you may pass --no-use-pep517 to opt out of pyproject.toml-style processing. See PEP 517 for details on pyproject.toml-style projects.
pip install -r requirements/testing.txt
fails
Expected behavior
Historically (in <= 19.0.3) pip would install the project and testing/dev requirements (into the current virtualenv).
How to Reproduce
Set up a project as per above, try to install the dev/testing requirements with pip install -r foo.txt
.
Output
As per description.
midopa and aexvir
Metadata
Metadata
Assignees
Labels
C: PEP 517 impactAffected by PEP 517 processingAffected by PEP 517 processingC: requirement fileUsing `requirements.txt`Using `requirements.txt`auto-lockedOutdated issues that have been locked by automationOutdated issues that have been locked by automation