Skip to content

Export fails to take proper care of extra in deps with more than one path #5537

@shaib

Description

@shaib
  • I am on the latest Poetry version.

  • I have searched the issues of this repo and believe that this is not a duplicate.

  • If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

  • OS version and name: Debian testing (bookworm, i.e. on the way to 12.0)

  • Poetry version: 1.1.13 installed from pip

  • Link of a Gist with the contents of your pyproject.toml file: https://gist.github.com/shaib/3bd014dd9cfe39faf23dcd1363da9a2d

Issue

Starting from scratch, adding one dependency which requires google-api-core[grpc] and another which constrains google-api-core (the real project is of course significantly more complex and the limit is derived), all is well as long as we're in poetry; but when exported, even though all the chain of dependencies seems to be exported, it seems that the extra designation itself is not; and the result is, that when we try to pip install from the requirements file, we get

ERROR: In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
    google-api-core[grpc]<2.0.0dev,>=1.14.0 from ... (from firebase-admin==4.5.3->-r requirements.txt (line 13))

All the details -- a log of the session, the poetry add -vvv output, the pyproject.toml, poetry.lock and requirements.txt are in the gist listed above.

(edit: Running, in the above, the command

$ sed -i 's/google-api-core/google-api-core[grpc]/g' requirements.txt

allows pip to install everything)

#4912 seems to be closely related but I believe it is not the same issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working as expected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions