pip can no longer install cherrypy (without tweaking) on python 3.5.3 due to 4 dependencies requiring 3.6
See original GitHub issueI’m submitting a …
- bug report
What is the current behavior?
When trying to
pip3 install cherrypy
on raspbian (stretch) with python 3.5.3, I get the following error message:
jaraco.collections requires Python ‘>=3.6’ but the running Python is 3.5.3
According to jaraco.collections ChangeLog, the Version 3.0.0 now requires python 3.6 --> workaround is to install jaraco.collections<3.0.0. The same issue then pops up 3 more times:
jaraco.functools requires Python ‘>=3.6’ but the running Python is 3.5.3 jaraco.classes requires Python ‘>=3.6’ but the running Python is 3.5.3 tempora requires Python ‘>=3.6’ but the running Python is 3.5.3
My final workaround therefore is
pip3 install "jaraco.collections<3.0.0" "jaraco.classes<3.0.0" "jaraco.functools<3.0.0" "tempora<2.0.0" "cherrypy"
What is the expected behavior? Cherrypy should automatically request the correct versions of these tools in python3.5, to avoid the error messages
What is the motivation / use case for changing the behavior? Less hassle installing cherrypy.
Please tell us about your environment:
- Cheroot version: cheroot-8.2.1
- CherryPy version: cherrypy-18.5.0
- Python version: 3.5.3
- OS: Linux raspberrypi 4.14.34-v7+
- Browser: n/a
Issue Analytics
- State:
- Created 4 years ago
- Comments:8 (6 by maintainers)
Top GitHub Comments
Looks like https://github.com/piwheels/piwheels/issues/208 is about this issue so Piwheels is in the process of fixing it.
Ah… I was right, it doesn’t: https://github.com/pypa/setuptools/issues/1976#issuecomment-576036922
Compare the source code (HTML view) of https://pypi.org/simple/jaraco-collections/ vs. https://www.piwheels.org/simple/jaraco.collections/.
PyPI injects
data-requires-python
into the link attributes and piwheels doesn’t. This means when Pip fetches the list of dists from this index, it doesn’t know which versions have Python restriction and just gets the latest one.Anyway, you should complain to piwheels about this. As a workaround, you could stop using piwheels. CherryPy is pure-python anyway and the official dists should work just fine on Rpi.