Skip to content

kedro[test]==0.18.13 fails even though requiring its depndencies do not #12768

@notatallshaw

Description

@notatallshaw

Description

On Linux Python 3.9 installing kedro[test]==0.18.13 fails with resolution impossible

However if you directly specify it's requirements as extracted from the metadata (https://files.pythonhosted.org/packages/50/01/76d44fd50471cd1bd9899e161c07444026c954c01a9012b2c3a8f8a9e1c5/kedro-0.18.13-py3-none-any.whl.metadata) e.g.:

requirements.txt
anyconfig <0.14,>=0.10
attrs >=21.3
build
cachetools ~=5.3
click <9.0
cookiecutter <3.0,>=2.1.1
dynaconf <4.0,>=3.1.2
fsspec <2024.1,>=2021.4
gitpython ~=3.0
importlib-resources >=1.3
jmespath <2.0,>=0.9.5
more-itertools <11,>=9
omegaconf ~=2.3
parse ~=1.19.0
pip-tools <8,>=6.5
pluggy <1.3,>=1.0
PyYAML <7.0,>=4.2
rich <14.0,>=12.0
rope <2.0,>=0.21
setuptools >=65.5.1
toml ~=0.10
toposort ~=1.5
importlib-metadata <5.0,>=3.6 ; python_version < "3.8"
importlib-metadata >=3.6 ; python_version >= "3.8"
bandit <2.0,>=1.6.2 
behave ==1.2.6 
biopython ~=1.73 
blacken-docs ==1.9.2 
black ~=22.0 
compress-pickle[lz4] ~=2.1.0 
coverage[toml] 
dask[complete] ~=2021.10 
dill ~=0.3.1 
filelock <4.0,>=3.4.0 
geopandas <1.0,>=0.6.0 
hdfs <3.0,>=2.5.8 
holoviews >=1.13.0 
import-linter[toml] ==1.8.0 
isort ~=5.0 
Jinja2 <3.1.0 
joblib >=0.14 
jupyterlab-server <2.16.0,>=2.11.1 
jupyterlab <3.6.0,~=3.0 
jupyter ~=1.0 
lxml ~=4.6 
memory-profiler <1.0,>=0.50.0 
networkx ~=2.4 
opencv-python ~=4.5.5.64 
openpyxl <4.0,>=3.0.3 
pandas ~=1.3 
Pillow ~=9.0 
plotly <6.0,>=4.8.0 
pre-commit <3.0,>=2.9.2 
pylint <3.0,>=2.17.0 
pyproj ~=3.0 
pytest-cov ~=3.0 
pytest-mock <2.0,>=1.7.1 
pytest-xdist[psutil] ~=2.2.1 
pytest ~=7.2 
redis ~=4.1 
requests-mock ~=1.6 
requests ~=2.20 
s3fs <0.5,>=0.3.0 
scikit-learn <2,>=1.0.2 
scipy >=1.7.3 
semver 
SQLAlchemy ~=1.2 
triad <1.0,>=0.6.7 
trufflehog ~=2.1 
xlsxwriter ~=1.0 
tensorflow ~=2.0 ; (platform_system != "Darwin" or platform_machine != "arm64")
tables ~=3.6 ; (platform_system != "Windows")
tensorflow-macos ~=2.0 ; (platform_system == "Darwin" and platform_machine == "arm64")
tables ~=3.6.0 ; (platform_system == "Windows" and python_version < "3.8")
tables ~=3.8.0 ; (platform_system == "Windows" and python_version >= "3.8")
matplotlib <3.4,>=3.0.3 ; (python_version < "3.10")
moto ==1.3.7 ; (python_version < "3.10")
delta-spark ~=1.2.1 ; (python_version < "3.11")
pandas-gbq <0.18.0,>=0.12.0 ; (python_version < "3.11")
pyarrow >=1.0 ; (python_version < "3.11")
pyspark <3.4,>=2.2 ; (python_version < "3.11")
ipython <8.0,>=7.31.1 ; (python_version < "3.8")
adlfs <=2022.2,>=2021.7.1 ; (python_version == "3.7")
gcsfs <=2023.1,>=2021.4 ; (python_version == "3.7")
matplotlib <3.6,>=3.5 ; (python_version >= "3.10")
moto ==4.1.12 ; (python_version >= "3.10")
delta-spark >=1.2.1 ; (python_version >= "3.11")
pandas-gbq >=0.18.0 ; (python_version >= "3.11")
pyarrow >=7.0 ; (python_version >= "3.11")
pyspark >=3.4 ; (python_version >= "3.11")
adlfs ~=2023.1 ; (python_version >= "3.8")
gcsfs <2023.3,>=2023.1 ; (python_version >= "3.8")
ipython ~=8.10 ; (python_version >= "3.8")

Then it installs fine. Also uv and older vesions of pip can install kedro[test]==0.18.13.

Expected behavior

kedro[test]==0.18.13 installs fine

pip version

24.0

Python version

3.9

OS

Linux

How to Reproduce

  1. python -m pip install --ignore-installed --dry-run "kedro[test]==0.18.13"

Output

ERROR: Cannot install dask[complete]==2021.12.0 and kedro[test]==0.18.13 because these package versions have conflicting dependencies.

The conflict is caused by:
    kedro[test] 0.18.13 depends on dask~=2021.10; extra == "test"
    dask[complete] 2021.12.0 depends on dask 2021.12.0 (from https://files.pythonhosted.org/packages/15/6d/99c63be3ea8a4a651d845addeea1f1b3bb8e5c6730bc26cfb6176631adf7/dask-2021.12.0-py3-none-any.whl (from https://pypi.org/simple/dask/) (requires-python:>=3.7))

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip to attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: dependency resolutionAbout choosing which dependencies to installtype: bugA confirmed bug or unintended behavior

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions