Closed truthadjuster closed 1 year ago
The offending import is made by werkzeug, not by this project. Have you tried upgrading this package to the latest version?
The offending import is made by werkzeug, not by this project. Have you tried upgrading this package to the latest version?
Yes, I did tried to upgrade to latest Werkzeug 2.2.2
, 2.2.1
and it dominoed to other error in MarkupSafe
. As this breaking change is in the python
library itself, I'm checking on the best practice with pyenv
to overcome issues such as this.
The logical thing to do would be to ensure the release dates of all your dependencies (both direct and transitive) are after the release date of the Python interpreter that you are using, but Python doesn't make this easy. In practice the best solution is to upgrade everything to latest and hope that all the packages have addressed the problem.
I've played on pyenv
and trying on python 3.6.9
it seg faults if I do pip list
. I then next tried 3.7.0
and it still seg faults
. I suspect is due to my GCC 11.2.0
I am on latest Ubuntu jammy. In my older Ubuntu with GCC 9
there is no seg fault. The flasky
project now works in my Ubuntu jammy (its default python version is 3.10.6
) and using pyenv
to switch to python 3.8.0
. In my older Ubuntu with GCC 9
, flasky
also worked there using python 3.6.9
.
I would think that requirements.txt
should also specify the python version.
it seg faults if I do pip list
If I understand you correctly, this is pip
segfaulting, so this isn't something I can help with, you may need to take it up with the Python org.
True. It is outside the flasky
project. The most reproducible step that I came up with is here
flask deploy
does not work in python3.10.6
. Error log below:It seems that in python
3.10.6
we can no longer do:from collections import Container, Iterable, MutableSet
. But we can in python3.6.9
.What's a quick way to be able to have any python version (and its corresponding pip) at your disposal? It can be a handy technique to make work old stuff.