Skip to content

Dependencies too strict for numpy and scipy #411

@juliuskittler

Description

@juliuskittler

Issue

I have a request regarding the dependencies for mljar-supervised = "0.10.4". In particular, my question is whether it would be possible to allow for older versions of numpy and scipy (maybe in future releases).

I am currently trying to install mljar-supervised = "0.10.4" along with tensorflow = "^2.2". It seems to me that these two dependencies should definitely be compatible in one application. However, this is not possible due to the following reason: because mljar-supervised (0.10.4) depends on both numpy (>=1.20.0) and scipy (1.6.1), mljar-supervised (0.10.4) is incompatible with tensorflow (>=2.2,<3.0)

Full dependency issue

Because no versions of tensorflow match >2.2,<2.2.1 || >2.2.1,<2.2.2 || >2.2.2,<2.3.0 || >2.3.0,<2.3.1 || >2.3.1,<2.3.2 || >2.3.2,<2.4.0 || >2.4.0,<2.4.1 || >2.4.1,<2.5.0 || >2.5.0,<3.0
   and tensorflow (2.2.0) depends on scipy (1.4.1), tensorflow (>=2.2,<2.2.1 || >2.2.1,<2.2.2 || >2.2.2,<2.3.0 || >2.3.0,<2.3.1 || >2.3.1,<2.3.2 || >2.3.2,<2.4.0 || >2.4.0,<2.4.1 || >2.4.1,<2.5.0 || >2.5.0,<3.0) requires scipy (1.4.1).
  And because tensorflow (2.2.1) depends on numpy (>=1.16.0,<1.19.0)
   and tensorflow (2.2.2) depends on numpy (>=1.16.0,<1.19.0), tensorflow (>=2.2,<2.3.0 || >2.3.0,<2.3.1 || >2.3.1,<2.3.2 || >2.3.2,<2.4.0 || >2.4.0,<2.4.1 || >2.4.1,<2.5.0 || >2.5.0,<3.0) requires scipy (1.4.1) or numpy (>=1.16.0,<1.19.0).
  And because tensorflow (2.3.0) depends on scipy (1.4.1)
   and tensorflow (2.3.1) depends on numpy (>=1.16.0,<1.19.0), tensorflow (>=2.2,<2.3.2 || >2.3.2,<2.4.0 || >2.4.0,<2.4.1 || >2.4.1,<2.5.0 || >2.5.0,<3.0) requires scipy (1.4.1) or numpy (>=1.16.0,<1.19.0).
  And because tensorflow (2.3.2) depends on numpy (>=1.16.0,<1.19.0)
   and tensorflow (2.4.0) depends on numpy (>=1.19.2,<1.20.0), tensorflow (>=2.2,<2.4.1 || >2.4.1,<2.5.0 || >2.5.0,<3.0) requires scipy (1.4.1) or numpy (>=1.16.0,<1.19.0 || >=1.19.2,<1.20.0).
  And because tensorflow (2.4.1) depends on numpy (>=1.19.2,<1.20.0)
   and tensorflow (2.5.0) depends on numpy (>=1.19.2,<1.20.0), tensorflow (>=2.2,<3.0) requires numpy (>=1.16.0,<1.19.0 || >=1.19.2,<1.20.0) or scipy (1.4.1).
  And because mljar-supervised (0.10.4) depends on both numpy (>=1.20.0) and scipy (1.6.1), mljar-supervised (0.10.4) is incompatible with tensorflow (>=2.2,<3.0).
  So, because property-prediction-challenge depends on both tensorflow (^2.2) and mljar-supervised (0.10.4), version solving failed.

Reproducible example

  • Step 1: Install poetry dependency management package with pip install poetry==1.1.6
  • Step 2: Create a new folder and put the following into a new file pyproject.toml.
[tool.poetry]
name = "Dependency issues."
version = "0.1.0"
description = "Investigate dependency issues."
authors = ["nobody"]

[tool.poetry.dependencies]
python = "3.8.x"
tensorflow = "^2.2"
mljar-supervised = "0.10.4"
  • Step 3: cd into the new folder and run poetry install

Metadata

Metadata

Assignees

Labels

dependenciesPull requests that update a dependency file

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions