Pip: Option --no-use-pep517 not supported in requirement files

Created on 24 Apr 2019  路  7Comments  路  Source: pypa/pip

Environment

  • pip version: 19.1
  • Python version: 3.6.7, 2.7.15
  • OS: any

Description
Specifying the option --no-use-pep517 in a requirements file results in

ERROR: Invalid requirement: --no-use-pep517 docopt
pip: error: no such option: --no-use-pep517

Expected behavior
Package is installed not using PEP 517

How to Reproduce

  1. Have this requirements file:
--no-use-pep517 docopt
  1. Run pip install -r requirements.txt (removing the option form the file and passing it directly works normal)

Output

pip install -r requirements.txt 
Usage: pip [options]

ERROR: Invalid requirement: --no-use-pep517 docopt
pip: error: no such option: --no-use-pep517

This Issue regards specifying --no-use-pep517 inside a single requirement file. It is related to #6433, where it fails when we have nested requirement files and specify the option outside of them, i.e. give it directly as an argument to the pip invocation.

PEP 517 impact requirement file

Most helpful comment

I removed the awaiting PR label, following the two comments above.

All 7 comments

I just posted PR #6447 for this.

This issue is a good starting point for anyone who wants to help out with pip's development -- it's simple and the process of fixing this should be a good introduction to pip's development workflow. See the PR above to understand what the desired fix could look like. :)

@pradyunsg Not to derail this particular issue, but I think this is _not_ a good first issue; it might be a good second or third issue, but a contributor who is new to Python packaging is going to have trouble understanding specifiers, PEP 517, and so on. Removing the tag.

Sounds fair to me. We have an awaiting PR tag for things like this then -- stuff that's not a good first issue, but can be a good issue for more involved contributors to tackle. :)

Ideally we could move away from --no-use-pep517, since it will be incompatible with an increasing number of packages as time goes on. What is the current use case for this flag?

I believe there are still packages out there using pyproject.toml but not actually compatible with PEP 517. Instead of adding --no-use-pep517 we should probably hunt those packages down and fix them instead. Maybe it would help to add a message to --no-use-pep517 to prompt the user report the usage somewhere (e.g. in a tracking issue here)?

I removed the awaiting PR label, following the two comments above.

Was this page helpful?
0 / 5 - 0 ratings