Skip to content

Recursive extra dependencies don't work for a private package #1685

@zbynekwinkler

Description

@zbynekwinkler

Installing private package (=package not published on pypi) is possible with pip using pip install -e .[dev]. It respects extra dependencies and the extra dependencies can even reference themselves (see the example bellow). However compiling such a project to get requirements.txt fails.

Environment Versions

  1. OS Type: ubuntu 18.04
  2. Python version: $ python -V: Python 3.8.0
  3. pip version: $ pip --version: pip 22.2.2
  4. pip-tools version: $ pip-compile --version: version 6.8.0

Steps to replicate

Minimal pyproject.toml:

[project]
name = "privateproject"
version = "0.0.1"
dependencies = [
    "tomli",
]

[project.optional-dependencies]
test = [
    "pep517",
]
dev = [
    "privateproject[test]",
]
  1. save minimal pyproject.toml
  2. run python -m piptools compile --extra dev pyproject.toml

Expected result

The requirements.txt is generated containing tomli and pep517.

Actual result

Could not find a version that matches privateproject[test] (from privateproject (pyproject.toml))
No versions found
Was https://pypi.org/simple reachable?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not workingpyproject.tomlRelated to pyproject.toml support

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions