Skip to content

Installing dependent wheels in a single command with specified extras is order dependent #11912

Open
@mattnotmitt

Description

@mattnotmitt

Description

  • Given two wheel files for a package called, child and another, parent, which depends on child and with both having a [test] extra (ie {"test": ["pytest"]},
  • when pip install child.whl[test] parent.whl[test] is run the install will succeed.
  • when pip install parent.whl child.whl is run the install will succeed.
  • If the command is instead pip install parent.whl[test] child.whl[test] the install will fail.

Expected behavior

I expect this to work in both orders. I understand it's a bit of an edge case, but would potentially be useful to note in the docs if not fixed as the error message isn't particularly helpful.

pip version

23.0.1

Python version

3.11

OS

Linux

How to Reproduce

I've written a test which reproduces the issue.

Output

ERROR: Could not find a version that satisfies the requirement childpkg (from parent[test]) (from versions: none)
ERROR: No matching distribution found for childpkg

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions