Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cant install wily due to dependency conflict with Click <8.0 #142

Closed
commentator8 opened this issue Feb 10, 2022 · 4 comments · Fixed by #145
Closed

Cant install wily due to dependency conflict with Click <8.0 #142

commentator8 opened this issue Feb 10, 2022 · 4 comments · Fixed by #145

Comments

@commentator8
Copy link

Describe the bug
I am trying to use wily but it fails to install due to it requiring Click < 8 and my project uses click 8.0. Is this arbitrary or can it be upgraded to use Click 8.0 also?

To Reproduce
Steps to reproduce the behavior:
require Click 8.0.* and try and install wily

Expected behavior
Wily should successfully install.

Desktop (please complete the following information):

  • OS: Mac

Additional context

❯ poetry add --dev wily
Using version ^1.20.0 for wily

Updating dependencies
Resolving dependencies... (3.0s)

  SolverProblemError

  Because no versions of wily match >1.20.0,<2.0.0
   and wily (1.20.0) depends on click (>=7.0,<8.0), wily (>=1.20.0,<2.0.0) requires click (>=7.0,<8.0).
  So, because analyzer-service depends on both click (8.0.*) and wily (^1.20.0), version solving failed.

  at ~/Library/Application Support/pypoetry/venv/lib/python3.9/site-packages/poetry/puzzle/solver.py:241 in _solve
      237│             packages = result.packages
      238│         except OverrideNeeded as e:
      239│             return self.solve_in_compatibility_mode(e.overrides, use_latest=use_latest)
      240│         except SolveFailure as e:
    → 241│             raise SolverProblemError(e)
      242│
      243│         results = dict(
      244│             depth_first_search(
      245│                 PackageNode(self._package, packages), aggregate_package_nodes
@skarzi
Copy link
Contributor

skarzi commented May 18, 2022

hi 👋

For some reason version, 1.21.0 of wily still depends on click>=7.0,<8.0.

Below you can find all dependencies of wily==1.21.0 according to poetry:

[[package]]
name = "wily"
version = "1.21.0"
description = "A Python application for tracking, reporting on timing and complexity in tests and applications."
category = "dev"
optional = false
python-versions = ">=3.6"

[package.dependencies]
click = ">=7.0,<8.0"
colorlog = ">=4.0.0,<5.0.0"
gitpython = ">=3.0.0,<4.0.0"
nbformat = ">=5.1.3,<6.0.0"
plotly = ">=4.0.0,<5.0.0"
progress = "1.4"
radon = ">=4.0.0,<4.1.0"
tabulate = ">=0.8.2,<1.0.0"

@tonybaloney
Copy link
Owner

@skarzi What steps did you do to reproduce this? I'm looking at the sdist on PyPI and it has the correct dependencies

@skarzi
Copy link
Contributor

skarzi commented May 20, 2022

The minimal example is to simply run poetry add wily or pip install wily inside a fresh virtual environment and in both cases, it installs click==7.1.2, because of the click<8.0,>=7.0 constraint.
I have also inspected wily-1.21.0.dist-info/METADATA and it contains following line:

Requires-Dist: click>=7.0,<8.0

So it seems like an unproperly built version of the wily package was uploaded to PyPI.

skarzi added a commit to skarzi/wily that referenced this issue Jul 15, 2022
Section `[build-system]` is used by `pip` to properly build
package managed by `flit`.
Package's dependencies are taken from section
`[tool.flit.metadata].requires`.
This commit fixes: tonybaloney#142

References:
  + https://flit.pypa.io/en/latest/pyproject_toml.html#build-system-section
  + https://flit.pypa.io/en/latest/pyproject_toml.html#pyproject-old-metadata
  + tonybaloney#142
@astrojuanlu
Copy link

Should this issue be reopened then?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants