poetry: SolveFailure with experimental installer and editable dependency

  • Poetry version: 1.4.0
  • Python version: various, including 3.7, 3.8, and 3.11
  • OS version and name: MacOS 12 and 13
  • pyproject.toml:
[tool.poetry]
name = "thds.foobar"
version = "2.1"
description = "FooBar"
authors = ["foobar"]
readme = "README.md"
packages = [{include = "thds", from="src"}]
include = ['py.typed', 'meta.json']

[tool.poetry.dependencies]
python = "^3.8"
typing-extensions = ">=3.8"
thds-core = {path = "../core", develop = true}
  • 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.
 Updating types-setuptools (67.5.0.0 -> 67.4.0.3)
  • Installing uri-template (1.2.0): Skipped for the following reason: Already installed
  • Installing urllib3 (1.26.14): Skipped for the following reason: Already installed
  • Installing wcwidth (0.2.6): Skipped for the following reason: Already installed
  • Installing webcolors (1.12): Skipped for the following reason: Already installed
  • Installing webencodings (0.5.1): Skipped for the following reason: Already installed
  • Installing websocket-client (1.5.1): Skipped for the following reason: Already installed
  • Installing widgetsnbextension (4.0.5): Skipped for the following reason: Already installed
  • Installing wrapt (1.15.0): Skipped for the following reason: Already installed
  • Installing xlrd (2.0.1): Skipped for the following reason: Already installed
  • Installing yarl (1.8.2): Skipped for the following reason: Already installed
  • Installing zipp (3.15.0): Skipped for the following reason: Already installed
  • Installing thds-adls (1.0 /Users/peter/repos/ds-monorepo/libs/adls): Failed

  SolveFailure

  Because -root- depends on thds.core (*) which doesn't match any versions, version solving failed.

  at ~/software/poetry/venv/lib/python3.8/site-packages/poetry/mixology/version_solver.py:349 in _resolve_conflict
      345│             )
      346│             self._log(f'! which is caused by "{most_recent_satisfier.cause}"')
      347│             self._log(f"! thus: {incompatibility}")
      348│
    → 349│         raise SolveFailure(incompatibility)
      350│
      351│     def _choose_package_version(self) -> str | None:
      352│         """
      353│         Tries to select a version of a required package.

The following error occurred when trying to handle this error:


  SolverProblemError

  Because -root- depends on thds.core (*) which doesn't match any versions, version solving failed.

  at ~/software/poetry/venv/lib/python3.8/site-packages/poetry/puzzle/solver.py:163 in _solve
      159│             packages = result.packages
      160│         except OverrideNeeded as e:
      161│             return self._solve_in_compatibility_mode(e.overrides)
      162│         except SolveFailure as e:
    → 163│             raise SolverProblemError(e)
      164│
      165│         combined_nodes = depth_first_search(PackageNode(self._package, packages))
      166│         results = dict(aggregate_package_nodes(nodes) for nodes in combined_nodes)
      167│

Issue

Hi! Using poetry config experimental.new-installer false makes this go away - all of our developers have been on 1.3.2 until recently, but a few upgraded and our monorepo does not work for them anymore.

Downgrading is one workaround, but the easier one is just disabling ‘no longer experimental’ installer which, unfortunately, still seems somewhat experimental to us.

I don’t really have any more information about this that I know to be relevant, but I’ll try to answer any questions you have.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 18 (13 by maintainers)

Most upvoted comments

afaik we (certainly I but I think also you) don’t have any idea what’s going on in either #7498 or here

  • in #7498 because no-one has debugged it
  • here because OP is unwilling or unable to provide anyone with the means to debug it

speculating that they are the same is all very well, but please deal with #7498 in #7498.

if understanding that brings some insight here, super.