Werkzeug 2
Flask 2.0 has just been released. As it uses semantic versioning, you could expect breaking changes, and a quick test showed that our web application is actually not compatible, for reasons I don’t have really time to check. However, since we had Flask pinned, I was not really worried. Alas, I was wrong: because on the first deployment, our dev environment started to fail – fortunately, this stopped moving to production!.
The reason is actually Werzeug: Flask uses >=
for its requirements, so pip happily downloaded Werzeug 2.0… which was incompatible as well.
Solution? Pin also all Flask requirements:
Werkzeug==1.0.1
Jinja2==2.11.3
itsdangerous==1.1.0
click==7.1.2
I am not really happy with this approach (we don’t directly use those requirements, so we shouldn’t care), but it works, so I will stick with that until we manage to upgrade to Flask 2