Could not find a version that matches with latest version of Mypy and Pylint
See original GitHub issueFollow up of #2785 (and probably other).
Got the same good-old “resolver issue” again today:
- pylint 2.3.0 was released today on Pypi.
- pylint 2.3.0 wants
astroid>=2.2.0
- astroid 2.2.0 want
typed-ast>=1.4.0
In my pipfile I also have pylint = "*"
and mypy = "*"
.
And latest version of mypy want typed-ast<1.4.0
. So the resolver on pipenv update --clear
fails witht the infamous error:
Could not find a version that matches typed-ast<1.3.0,<1.4.0,>=1.3.1
In short: as of today, latest versions of mypy
and pylint
packages have incompatible dependencies.
Fixing by add this in the Pipfile:
pylint = "<2.3.0"
typed-ast = "<1.4.0,>=1.3.1"
astroid = "<2.2.0"
To prevent update of pylint.
I understand digging into the resolver is a really complex task, and I tried it and failed at doing anything relevant, but still, I hope one good lad here find time to dig into this and find a way to have pipenv finds itself it should not take the latest version of pylint
package in this case, and try with a previous version.
Expected behavior:
pylint
version is updated, the resolver fails at the end with “Could not find a version” error.- previous versions available on pypi is tried, and so on, until the same version that were on
Pipfile.lock
. If not present, a depth limit may be set to avoid to try every version ofpylint
package - even in case of failure,
pipenv update --clear
should end in success (providing the lock file is still coherent) but add an explicit warning telling 2 packages have incompatible dependency rule in their latest version available on Pypi.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:6
- Comments:13 (8 by maintainers)
Top GitHub Comments
@gsemet did you try to force to set
mypy==0.660
in Pipfile? I think after mypy pacakge updated in Feb 9, it’s happening nowadays.we have the OK to incorporate passa, but we have a lot of legwork to do first cleaning up other issues. The issue here is just that piptools doesn’t backtrack to resolve conflicts after it makes a decision. Passa handles that issue