Skip to content

Cryptic 'None' message on version conflict error #8196

@salty-horse

Description

@salty-horse
  • Poetry version: 1.5.1
  • Python version: 3.10.6
  • OS version and name: Ubuntu 22.04.2
  • pyproject.toml:
[tool.poetry.dependencies]
python = "^3.10"
google-auth = "1.33.1"
  • I am on the latest stable Poetry version, installed using a recommended method.
  • I have searched the issues of this repo and believe that this is not a duplicate.
  • I have consulted the FAQ and blog for any relevant entries or release notes.
  • If an exception occurs when executing a command, I executed it again in debug mode (-vvv option) and have included the output below.

Issue

I'm getting a crash in the same line as described in #5016 from a year ago, but with the latest version of poetry.

Unlike that error, without verbose output, the output is just 'None' in red.

My package requirement is just google-auth = 1.35.0.

$ poetry add  firebase-admin
Using version ^6.2.0 for firebase-admin

Updating dependencies
Resolving dependencies... (2.2s)

'None'

With verbose output, the bottom of the stack trace has:

  KeyError  'None'

  at ~/.local/share/pypoetry/venv/lib/python3.10/site-packages/poetry/mixology/version_solver.py:188 in _propagate
      184│             # Iterate in reverse because conflict resolution tends to produce more
      185│             # general incompatibilities as time goes on. If we look at those first,
      186│             # we can derive stronger assignments sooner and more eagerly find
      187│             # conflicts.
    → 188│             for incompatibility in reversed(self._incompatibilities[package]):
      189│                 if incompatibility in self._contradicted_incompatibilities:
      190│                     continue
      191│ 
      192│                 result = self._propagate_incompatibility(incompatibility)

Full gist of -vvv: https://gist.github.com/salty-horse/e4b3fd13b26da3529df29a4ff859a185

Allowing for google-auth = "^2" makes it resolve correctly. Poetry should tell me the ^1.33.1 requirement is blocking the installation instead of crashing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/error-handlingBad error messages/insufficient error handlingarea/solverRelated to the dependency resolverkind/bugSomething isn't working as expectedstatus/triageThis issue needs to be triaged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions