python-poetry / poetry

Python packaging and dependency management made easy
https://python-poetry.org
MIT License
31.8k stars 2.28k forks source link

Infinite loop when resolving dependencies #9745

Open janek-cosmose opened 1 month ago

janek-cosmose commented 1 month ago

Description

With the example pyproject.toml (see below), poetry lock hangs on "Resolving dependencies". With poetry -vvv lock you can see that it enters an infinite loop with three lines repeating forever (see below).

Maybe this set of dependencies is impossible to satisfy, but if so, there should be a relevant error message, not an infinite loop.

Workarounds

You can modify the dependencies, e.g. with

python = ">=3.10,<3.11"
tensorflow = "^2.17.0"
tf_keras = "^2.17.0"
mediapipe = "^0.10.11"

poetry lock works correctly.

Adding an additional dependency: ml-dtypes = "^0.4.1", without modifying the others, has the same effect.

Poetry Installation Method

pipx

Operating System

Ubuntu 22.04.5 LTS

Poetry Version

Poetry (version 1.8.3)

Poetry Configuration

cache-dir = "/home/user/.cache/pypoetry"
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
keyring.enabled = true
solver.lazy-wheel = true
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.no-setuptools = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /home/user/.cache/pypoetry/virtualenvs
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true

Python Sysconfig

No response

Example pyproject.toml

[tool.poetry]
package-mode = false
name = "foo"
description = ""

[tool.poetry.dependencies]
python = ">=3.10,<3.11"
tensorflow = "^2.16.2"
tf_keras = "^2.16.0"
mediapipe = "^0.10.11"

Poetry Runtime Logs

Loading configuration file /home/user/.config/pypoetry/config.toml
Using virtualenv: /home/user/.cache/pypoetry/virtualenvs/foo-BdCHMaSH-py3.10
Updating dependencies
Resolving dependencies...
   1: fact: foo is 0
   1: derived: foo
   1: fact: foo depends on tensorflow (^2.16.2)
   1: fact: foo depends on tf_keras (^2.16.0)
   1: fact: foo depends on mediapipe (^0.10.11)
   1: selecting foo (0)
   1: derived: mediapipe (>=0.10.11,<0.11.0)
   1: derived: tf_keras (>=2.16.0,<3.0.0)
   1: derived: tensorflow (>=2.16.2,<3.0.0)
Checking if keyring is available
[keyring:keyring.backend] Loading KWallet
[keyring:keyring.backend] Loading SecretService
[keyring:keyring.backend] Loading Windows
[keyring:keyring.backend] Loading chainer
[keyring:keyring.backend] Loading libsecret
[keyring:keyring.backend] Loading macOS
Using keyring backend 'SecretService Keyring'
Creating new session for pypi.org
Source (PyPI): 4 packages found for mediapipe >=0.10.11,<0.11.0
Source (PyPI): 2 packages found for tf-keras >=2.16.0,<3.0.0
Source (PyPI): 2 packages found for tensorflow >=2.16.2,<3.0.0
   1: fact: mediapipe (0.10.15) depends on absl-py (*)
   1: fact: mediapipe (0.10.15) depends on attrs (>=19.1.0)
   1: fact: mediapipe (0.10.15) depends on flatbuffers (>=2.0)
   1: fact: mediapipe (0.10.15) depends on jax (*)
   1: fact: mediapipe (0.10.15) depends on jaxlib (*)
   1: fact: mediapipe (0.10.15) depends on matplotlib (*)
   1: fact: mediapipe (0.10.15) depends on numpy (<2)
   1: fact: mediapipe (0.10.15) depends on opencv-contrib-python (*)
   1: fact: mediapipe (0.10.15) depends on protobuf (>=4.25.3,<5)
   1: fact: mediapipe (0.10.15) depends on sounddevice (>=0.4.4)
   1: selecting mediapipe (0.10.15)
   1: derived: sounddevice (>=0.4.4)
   1: derived: protobuf (>=4.25.3,<5)
   1: derived: opencv-contrib-python
   1: derived: numpy (<2)
   1: derived: matplotlib
   1: derived: jaxlib
   1: derived: jax
   1: derived: flatbuffers (>=2.0)
   1: derived: attrs (>=19.1.0)
   1: derived: absl-py
Source (PyPI): 5 packages found for sounddevice >=0.4.4
Source (PyPI): 3 packages found for protobuf >=4.25.3,<5
Source (PyPI): 49 packages found for opencv-contrib-python *
Source (PyPI): 104 packages found for numpy <2
Source (PyPI): 73 packages found for matplotlib *
Source (PyPI): 26 packages found for jaxlib *
Source (PyPI): 163 packages found for jax *
Source (PyPI): 16 packages found for flatbuffers >=2.0
Source (PyPI): 15 packages found for attrs >=19.1.0
Source (PyPI): 42 packages found for absl-py *
   1: fact: jax (0.4.34) depends on jaxlib (0.4.34)
   1: fact: jax (0.4.34) depends on ml-dtypes (>=0.2.0)
   1: fact: jax (0.4.34) depends on numpy (>=1.24)
   1: fact: jax (0.4.34) depends on opt-einsum (*)
   1: fact: jax (0.4.34) depends on scipy (>=1.10)
   1: selecting jax (0.4.34)
   1: derived: scipy (>=1.10)
   1: derived: opt-einsum
   1: derived: numpy (>=1.24)
   1: derived: ml-dtypes (>=0.2.0)
   1: derived: jaxlib (==0.4.34)
Source (PyPI): 11 packages found for scipy >=1.10
Source (PyPI): 15 packages found for opt-einsum *
Source (PyPI): 7 packages found for ml-dtypes >=0.2.0
   1: fact: jaxlib (0.4.34) depends on scipy (>=1.10)
   1: fact: jaxlib (0.4.34) depends on numpy (>=1.24)
   1: fact: jaxlib (0.4.34) depends on ml-dtypes (>=0.2.0)
   1: selecting jaxlib (0.4.34)
   1: fact: matplotlib (3.9.2) depends on contourpy (>=1.0.1)
   1: fact: matplotlib (3.9.2) depends on cycler (>=0.10)
   1: fact: matplotlib (3.9.2) depends on fonttools (>=4.22.0)
   1: fact: matplotlib (3.9.2) depends on kiwisolver (>=1.3.1)
   1: fact: matplotlib (3.9.2) depends on numpy (>=1.23)
   1: fact: matplotlib (3.9.2) depends on packaging (>=20.0)
   1: fact: matplotlib (3.9.2) depends on pillow (>=8)
   1: fact: matplotlib (3.9.2) depends on pyparsing (>=2.3.1)
   1: fact: matplotlib (3.9.2) depends on python-dateutil (>=2.7)
   1: selecting matplotlib (3.9.2)
   1: derived: python-dateutil (>=2.7)
   1: derived: pyparsing (>=2.3.1)
   1: derived: pillow (>=8)
   1: derived: packaging (>=20.0)
   1: derived: kiwisolver (>=1.3.1)
   1: derived: fonttools (>=4.22.0)
   1: derived: cycler (>=0.10)
   1: derived: contourpy (>=1.0.1)
Source (PyPI): 11 packages found for python-dateutil >=2.7
Source (PyPI): 24 packages found for pyparsing >=2.3.1
Source (PyPI): 24 packages found for pillow >=8
Source (PyPI): 19 packages found for packaging >=20.0
Source (PyPI): 10 packages found for kiwisolver >=1.3.1
Source (PyPI): 76 packages found for fonttools >=4.22.0
Source (PyPI): 4 packages found for cycler >=0.10
Source (PyPI): 12 packages found for contourpy >=1.0.1
   1: selecting fonttools (4.54.1)
   0: Duplicate dependencies for numpy
   0: Different requirements found for numpy (>=1.21.4) with markers python_version >= "3.10" and platform_system == "Darwin" and numpy (>=1.21.2) with markers platform_system != "Darwin" and python_version >= "3.10".
   1: Version solving took 1.137 seconds.
   1: Tried 1 solutions.
   0: Retrying dependency resolution with the following overrides ({Package('opencv-contrib-python', '4.10.0.84'): {'numpy': <Dependency numpy (>=1.21.4)>}}).
   1: fact: foo is 0
   1: derived: foo
   1: fact: foo depends on tensorflow (^2.16.2)
   1: fact: foo depends on tf_keras (^2.16.0)
   1: fact: foo depends on mediapipe (^0.10.11)
   1: selecting foo (0)
   1: derived: mediapipe (>=0.10.11,<0.11.0)
   1: derived: tf_keras (>=2.16.0,<3.0.0)
   1: derived: tensorflow (>=2.16.2,<3.0.0)
Source (PyPI): 4 packages found for mediapipe >=0.10.11,<0.11.0
Source (PyPI): 2 packages found for tf-keras >=2.16.0,<3.0.0
Source (PyPI): 2 packages found for tensorflow >=2.16.2,<3.0.0
   1: fact: mediapipe (0.10.15) depends on absl-py (*)
   1: fact: mediapipe (0.10.15) depends on attrs (>=19.1.0)
   1: fact: mediapipe (0.10.15) depends on flatbuffers (>=2.0)
   1: fact: mediapipe (0.10.15) depends on jax (*)
   1: fact: mediapipe (0.10.15) depends on jaxlib (*)
   1: fact: mediapipe (0.10.15) depends on matplotlib (*)
   1: fact: mediapipe (0.10.15) depends on numpy (<2)
   1: fact: mediapipe (0.10.15) depends on opencv-contrib-python (*)
   1: fact: mediapipe (0.10.15) depends on protobuf (>=4.25.3,<5)
   1: fact: mediapipe (0.10.15) depends on sounddevice (>=0.4.4)
   1: selecting mediapipe (0.10.15)
   1: derived: sounddevice (>=0.4.4)
   1: derived: protobuf (>=4.25.3,<5)
   1: derived: opencv-contrib-python
   1: derived: numpy (<2)
   1: derived: matplotlib
   1: derived: jaxlib
   1: derived: jax
   1: derived: flatbuffers (>=2.0)
   1: derived: attrs (>=19.1.0)
   1: derived: absl-py
Source (PyPI): 5 packages found for sounddevice >=0.4.4
Source (PyPI): 3 packages found for protobuf >=4.25.3,<5
Source (PyPI): 49 packages found for opencv-contrib-python *
Source (PyPI): 104 packages found for numpy <2
Source (PyPI): 73 packages found for matplotlib *
Source (PyPI): 26 packages found for jaxlib *
Source (PyPI): 163 packages found for jax *
Source (PyPI): 16 packages found for flatbuffers >=2.0
Source (PyPI): 15 packages found for attrs >=19.1.0
Source (PyPI): 42 packages found for absl-py *
   1: fact: jax (0.4.34) depends on jaxlib (0.4.34)
   1: fact: jax (0.4.34) depends on ml-dtypes (>=0.2.0)
   1: fact: jax (0.4.34) depends on numpy (>=1.24)
   1: fact: jax (0.4.34) depends on opt-einsum (*)
   1: fact: jax (0.4.34) depends on scipy (>=1.10)
   1: selecting jax (0.4.34)
   1: derived: scipy (>=1.10)
   1: derived: opt-einsum
   1: derived: numpy (>=1.24)
   1: derived: ml-dtypes (>=0.2.0)
   1: derived: jaxlib (==0.4.34)
Source (PyPI): 11 packages found for scipy >=1.10
Source (PyPI): 15 packages found for opt-einsum *
Source (PyPI): 7 packages found for ml-dtypes >=0.2.0
   1: fact: jaxlib (0.4.34) depends on scipy (>=1.10)
   1: fact: jaxlib (0.4.34) depends on numpy (>=1.24)
   1: fact: jaxlib (0.4.34) depends on ml-dtypes (>=0.2.0)
   1: selecting jaxlib (0.4.34)
   1: fact: matplotlib (3.9.2) depends on contourpy (>=1.0.1)
   1: fact: matplotlib (3.9.2) depends on cycler (>=0.10)
   1: fact: matplotlib (3.9.2) depends on fonttools (>=4.22.0)
   1: fact: matplotlib (3.9.2) depends on kiwisolver (>=1.3.1)
   1: fact: matplotlib (3.9.2) depends on numpy (>=1.23)
   1: fact: matplotlib (3.9.2) depends on packaging (>=20.0)
   1: fact: matplotlib (3.9.2) depends on pillow (>=8)
   1: fact: matplotlib (3.9.2) depends on pyparsing (>=2.3.1)
   1: fact: matplotlib (3.9.2) depends on python-dateutil (>=2.7)
   1: selecting matplotlib (3.9.2)
   1: derived: python-dateutil (>=2.7)
   1: derived: pyparsing (>=2.3.1)
   1: derived: pillow (>=8)
   1: derived: packaging (>=20.0)
   1: derived: kiwisolver (>=1.3.1)
   1: derived: fonttools (>=4.22.0)
   1: derived: cycler (>=0.10)
   1: derived: contourpy (>=1.0.1)
Source (PyPI): 11 packages found for python-dateutil >=2.7
Source (PyPI): 24 packages found for pyparsing >=2.3.1
Source (PyPI): 24 packages found for pillow >=8
Source (PyPI): 19 packages found for packaging >=20.0
Source (PyPI): 10 packages found for kiwisolver >=1.3.1
Source (PyPI): 76 packages found for fonttools >=4.22.0
Source (PyPI): 4 packages found for cycler >=0.10
Source (PyPI): 12 packages found for contourpy >=1.0.1
   1: selecting fonttools (4.54.1)
   1: fact: opencv-contrib-python (4.10.0.84) depends on numpy (>=1.21.4)
   1: selecting opencv-contrib-python (4.10.0.84)
   1: selecting absl-py (2.1.0)
   1: selecting pyparsing (3.1.4)
   1: selecting pillow (10.4.0)
   1: selecting packaging (24.1)
   1: selecting flatbuffers (24.3.25)
   1: selecting attrs (24.2.0)
   1: selecting opt-einsum (3.4.0)
   1: selecting numpy (1.26.4)
   1: fact: contourpy (1.3.0) depends on numpy (>=1.23)
   1: selecting contourpy (1.3.0)
   1: fact: scipy (1.14.1) depends on numpy (>=1.23.5,<2.3)
   1: selecting scipy (1.14.1)
   1: fact: python-dateutil (2.9.0.post0) depends on six (>=1.5)
   1: selecting python-dateutil (2.9.0.post0)
   1: derived: six (>=1.5)
Source (PyPI): 18 packages found for six >=1.5
   1: selecting six (1.16.0)
   1: selecting kiwisolver (1.4.7)
   0: Duplicate dependencies for numpy
   0: Merging requirements for numpy
   1: fact: ml-dtypes (0.5.0) depends on numpy (>=1.21.2)
   1: selecting ml-dtypes (0.5.0)
   1: fact: sounddevice (0.5.0) depends on CFFI (>=1.0)
   1: selecting sounddevice (0.5.0)
   1: derived: CFFI (>=1.0)
Source (PyPI): 49 packages found for cffi >=1.0
   1: fact: cffi (1.17.1) depends on pycparser (*)
   1: selecting cffi (1.17.1)
   1: derived: pycparser
Source (PyPI): 22 packages found for pycparser *
   1: selecting pycparser (2.22)
   1: selecting cycler (0.12.1)
   1: selecting protobuf (4.25.5)
   1: fact: tf-keras (2.17.0) depends on tensorflow (>=2.17,<2.18)
   1: selecting tf-keras (2.17.0)
   1: derived: tensorflow (>=2.17,<2.18)
   1: fact: tensorflow (2.17.0) depends on absl-py (>=1.0.0)
   1: fact: tensorflow (2.17.0) depends on astunparse (>=1.6.0)
   1: fact: tensorflow (2.17.0) depends on flatbuffers (>=24.3.25)
   1: fact: tensorflow (2.17.0) depends on gast (>=0.2.1,<0.5.0 || >0.5.0,<0.5.1 || >0.5.1,<0.5.2 || >0.5.2)
   1: fact: tensorflow (2.17.0) depends on google-pasta (>=0.1.1)
   1: fact: tensorflow (2.17.0) depends on h5py (>=3.10.0)
   1: fact: tensorflow (2.17.0) depends on libclang (>=13.0.0)
   1: fact: tensorflow (2.17.0) depends on ml-dtypes (>=0.3.1,<0.5.0)
   1: fact: tensorflow (2.17.0) depends on opt-einsum (>=2.3.2)
   1: fact: tensorflow (2.17.0) depends on packaging (*)
   1: fact: tensorflow (2.17.0) depends on protobuf (>=3.20.3,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev)
   1: fact: tensorflow (2.17.0) depends on requests (>=2.21.0,<3)
   1: fact: tensorflow (2.17.0) depends on setuptools (*)
   1: fact: tensorflow (2.17.0) depends on six (>=1.12.0)
   1: fact: tensorflow (2.17.0) depends on termcolor (>=1.1.0)
   1: fact: tensorflow (2.17.0) depends on typing-extensions (>=3.6.6)
   1: fact: tensorflow (2.17.0) depends on wrapt (>=1.11.0)
   1: fact: tensorflow (2.17.0) depends on grpcio (>=1.24.3,<2.0)
   1: fact: tensorflow (2.17.0) depends on tensorboard (>=2.17,<2.18)
   1: fact: tensorflow (2.17.0) depends on keras (>=3.2.0)
   1: fact: tensorflow (2.17.0) depends on tensorflow-io-gcs-filesystem (>=0.23.1)
   1: fact: tensorflow (2.17.0) depends on numpy (>=1.23.5,<2.0.0)
   1: derived: not tensorflow (==2.17.0)
Source (PyPI): 0 packages found for tensorflow >2.17,<2.18
Falling back to installed packages to discover metadata for tensorflow
Found 0 compatible packages for tensorflow
   1: fact: no versions of tensorflow match >2.17,<2.18
   1: conflict: no versions of tensorflow match >2.17,<2.18
   1: ! tensorflow (>2.17,<2.18) is partially satisfied by not tensorflow (==2.17.0)
   1: ! which is caused by "tensorflow (2.17.0) depends on ml-dtypes (>=0.3.1,<0.5.0)"
   1: ! thus: tensorflow (>=2.17,<2.18) requires ml-dtypes (>=0.3.1,<0.5.0)
   1: fact: tensorflow (>=2.17,<2.18) requires ml-dtypes (>=0.3.1,<0.5.0)
   1: derived: not tensorflow (>=2.17,<2.18)
   1: derived: not tf-keras (==2.17.0)
   1: fact: tf-keras (2.16.0) depends on tensorflow (>=2.16,<2.17)
   2: selecting tf-keras (2.16.0)
   2: derived: tensorflow (>=2.16,<2.17)
   2: fact: tensorflow (2.16.2) depends on absl-py (>=1.0.0)
   2: fact: tensorflow (2.16.2) depends on astunparse (>=1.6.0)
   2: fact: tensorflow (2.16.2) depends on flatbuffers (>=23.5.26)
   2: fact: tensorflow (2.16.2) depends on gast (>=0.2.1,<0.5.0 || >0.5.0,<0.5.1 || >0.5.1,<0.5.2 || >0.5.2)
   2: fact: tensorflow (2.16.2) depends on google-pasta (>=0.1.1)
   2: fact: tensorflow (2.16.2) depends on h5py (>=3.10.0)
   2: fact: tensorflow (2.16.2) depends on libclang (>=13.0.0)
   2: fact: tensorflow (2.16.2) depends on ml-dtypes (>=0.3.1,<0.4.0)
   2: fact: tensorflow (2.16.2) depends on opt-einsum (>=2.3.2)
   2: fact: tensorflow (2.16.2) depends on packaging (*)
   2: fact: tensorflow (2.16.2) depends on protobuf (>=3.20.3,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev)
   2: fact: tensorflow (2.16.2) depends on requests (>=2.21.0,<3)
   2: fact: tensorflow (2.16.2) depends on setuptools (*)
   2: fact: tensorflow (2.16.2) depends on six (>=1.12.0)
   2: fact: tensorflow (2.16.2) depends on termcolor (>=1.1.0)
   2: fact: tensorflow (2.16.2) depends on typing-extensions (>=3.6.6)
   2: fact: tensorflow (2.16.2) depends on wrapt (>=1.11.0)
   2: fact: tensorflow (2.16.2) depends on grpcio (>=1.24.3,<2.0)
   2: fact: tensorflow (2.16.2) depends on tensorboard (>=2.16,<2.17)
   2: fact: tensorflow (2.16.2) depends on keras (>=3.0.0)
   2: fact: tensorflow (2.16.2) depends on tensorflow-io-gcs-filesystem (>=0.23.1)
   2: fact: tensorflow (2.16.2) depends on numpy (>=1.23.5,<2.0.0)
   2: derived: not tensorflow (==2.16.2)
Source (PyPI): 0 packages found for tensorflow >2.16.2,<2.17
Falling back to installed packages to discover metadata for tensorflow
Found 0 compatible packages for tensorflow
   2: fact: no versions of tensorflow match >2.16.2,<2.17
   2: conflict: no versions of tensorflow match >2.16.2,<2.17
   2: ! tensorflow (>2.16.2,<2.17) is partially satisfied by not tensorflow (==2.16.2)
   2: ! which is caused by "tensorflow (2.16.2) depends on ml-dtypes (>=0.3.1,<0.4.0)"
   2: ! thus: tensorflow (>=2.16.2,<2.17) requires ml-dtypes (>=0.3.1,<0.4.0)
   2: fact: tensorflow (>=2.16.2,<2.17) requires ml-dtypes (>=0.3.1,<0.4.0)
   2: derived: not tensorflow (>=2.16.2,<2.17)
   2: derived: not tf-keras (==2.16.0)
Source (PyPI): 0 packages found for tf-keras >2.16.0,<2.17.0 || >2.17.0,<3.0.0
Source (PyPI): 0 packages found for tensorflow >=2.18,<3.0.0
Falling back to installed packages to discover metadata for tensorflow
Found 0 compatible packages for tensorflow
   2: fact: tf-keras (2.18.0rc0) depends on tensorflow (>=2.18.0rc0,<2.19)
   3: selecting tf-keras (2.18.0rc0)
   3: derived: tensorflow (>=2.18.0rc0,<2.19)
Source (PyPI): 0 packages found for tensorflow >=2.18,<2.19
Falling back to installed packages to discover metadata for tensorflow
Found 0 compatible packages for tensorflow
   3: fact: no versions of tensorflow match >=2.18,<2.19
   3: conflict: no versions of tensorflow match >=2.18,<2.19
   3: derived: not tensorflow (>=2.18,<2.19)
   3: derived: not tf-keras (==2.18.0rc0)
Source (PyPI): 0 packages found for tf-keras >2.16.0,<2.17.0 || >2.17.0,<2.18.0rc0 || >2.18.0rc0,<3.0.0
Falling back to installed packages to discover metadata for tf-keras
Found 0 compatible packages for tf-keras
Source (PyPI): 0 packages found for tensorflow >=2.19,<3.0.0
Falling back to installed packages to discover metadata for tensorflow
Found 0 compatible packages for tensorflow
   3: fact: no versions of tf-keras match >2.16.0,<2.17.0 || >2.17.0,<2.18.0rc0 || >2.18.0rc0,<3.0.0
   3: conflict: no versions of tf-keras match >2.16.0,<2.17.0 || >2.17.0,<2.18.0rc0 || >2.18.0rc0,<3.0.0
   3: ! tf_keras (>2.16.0,!=2.17.0,!=2.18.0rc0,<3.0.0) is partially satisfied by not tf-keras (==2.18.0rc0)
   3: ! which is caused by "tf-keras (2.18.0rc0) depends on tensorflow (>=2.18.0rc0,<2.19)"
   3: ! thus: tf-keras (>2.16.0,<2.17.0 || >2.17.0,<3.0.0) requires tensorflow (>=2.18.0rc0,<2.19)
   3: ! not tensorflow (>=2.18.0rc0,<2.19) is partially satisfied by not tensorflow (>=2.18,<2.19)
   3: ! which is caused by "no versions of tensorflow match >=2.18,<2.19"
   3: ! thus: tf-keras (>2.16.0,<2.17.0 || >2.17.0,<3.0.0) requires tensorflow (>=2.18.0rc0,<2.18)
   3: ! tf-keras (>2.16.0,!=2.17.0,<3.0.0) is partially satisfied by not tf-keras (==2.16.0)
   3: ! which is caused by "tf-keras (2.16.0) depends on tensorflow (>=2.16,<2.17)"
   3: ! thus: tf-keras (>=2.16.0,<2.17.0 || >2.17.0,<3.0.0) requires tensorflow (>=2.16,<2.17 || >=2.18.0rc0,<2.18)
   3: ! not tensorflow (>=2.16,<2.17 || >=2.18.0rc0,<2.18) is partially satisfied by not tensorflow (>=2.16.2,<2.17)
   3: ! which is caused by "tensorflow (>=2.16.2,<2.17) requires ml-dtypes (>=0.3.1,<0.4.0)"
   3: ! thus: tf-keras (>=2.16.0,<2.17.0 || >2.17.0,<3.0.0) requires ml-dtypes (>=0.3.1,<0.4.0) or tensorflow (>=2.16,<2.16.2 || >=2.18.0rc0,<2.18)
   3: ! tf-keras (>=2.16.0,!=2.17.0,<3.0.0) is partially satisfied by not tf-keras (==2.17.0)
   3: ! which is caused by "tf-keras (2.17.0) depends on tensorflow (>=2.17,<2.18)"
   3: ! thus: tf-keras (>=2.16.0,<3.0.0) requires ml-dtypes (>=0.3.1,<0.4.0) or tensorflow (>=2.16,<2.16.2 || >=2.17,<2.18 || >=2.18.0rc0,<2.18)
   3: ! not tensorflow (>=2.16,<2.16.2 || >=2.17,<2.18 || >=2.18.0rc0,<2.18) is partially satisfied by not tensorflow (>=2.17,<2.18)
   3: ! which is caused by "tensorflow (>=2.17,<2.18) requires ml-dtypes (>=0.3.1,<0.5.0)"
   3: ! thus: tf-keras (>=2.16.0,<3.0.0) requires ml-dtypes (>=0.3.1,<0.5.0) or tensorflow (>=2.16,<2.16.2 || >=2.18.0rc0,<2.18)
   3: ! not tensorflow (>=2.16,<2.16.2 || >=2.18.0rc0,<2.18) is partially satisfied by not tensorflow (>=2.17,<2.18)
   3: ! which is caused by "tensorflow (>=2.17,<2.18) requires ml-dtypes (>=0.3.1,<0.5.0)"
   3: ! thus: tf-keras (>=2.16.0,<3.0.0) requires ml-dtypes (>=0.3.1,<0.5.0) or tensorflow (>=2.16,<2.16.2 || >=2.18.0rc0,<2.18)
   3: ! not tensorflow (>=2.16,<2.16.2 || >=2.18.0rc0,<2.18) is partially satisfied by not tensorflow (>=2.17,<2.18)
   3: ! which is caused by "tensorflow (>=2.17,<2.18) requires ml-dtypes (>=0.3.1,<0.5.0)"
   3: ! thus: tf-keras (>=2.16.0,<3.0.0) requires ml-dtypes (>=0.3.1,<0.5.0) or tensorflow (>=2.16,<2.16.2 || >=2.18.0rc0,<2.18)
   3: ! not tensorflow (>=2.16,<2.16.2 || >=2.18.0rc0,<2.18) is partially satisfied by not tensorflow (>=2.17,<2.18)
   3: ! which is caused by "tensorflow (>=2.17,<2.18) requires ml-dtypes (>=0.3.1,<0.5.0)"
   3: ! thus: tf-keras (>=2.16.0,<3.0.0) requires ml-dtypes (>=0.3.1,<0.5.0) or tensorflow (>=2.16,<2.16.2 || >=2.18.0rc0,<2.18)
[the last three lines repeat forever]
dimbleby commented 1 month ago

duplicate #8475 most likely

janek-cosmose commented 1 month ago

duplicate #8475 most likely

Definitely similar, hard to tell for me if it's the same issue (I could not reproduce it)