普通のシステムエンジニアの備忘録

きみひで と言います。個人勉強で触れた技術など備忘禄と時々日常を綴ります。

Flask url_encodeがimportできない

Flaskの勉強のために、本に書いてある通りに実行すると、url_encodeがimportできないと出てきた。

 

ImportError: cannot import name 'url_encode' from 'werkzeug.urls' (C:\Users\user\miniconda3\envs\flask_env\Lib\site-packages\werkzeug\urls.py). Did you mean: 'urlencode'?

 

上記のエラーでググると英語のサイトにたどり着く。

 

flask-wtfのバージョンが古いとそんなことが起こるよ~

1.X.Xのバージョンなら修正済みだぜ!!

 

って出てくる。

しかし、自分の環境のFlask-WTFバージョンは 1.1.1 問題ないはずなのに(泣

 

で、似たようなエラーで解決したって記事を見たのでダメもとで挑戦したらできた。

 

修正方法

Werkzeugのバージョンを変更

Werkzeug==3.0.1

Werkzeug==2.3.7

そうするとエラーが出なくなった。

 

参考にさせていただいた記事

Flaskでurl_quoteが見つからなくなった問題 #Python - Qiita

 

WerkzeugというライブラリのアップデートとFlaskライブラリの相互関係が崩れたみたいですね。

どこかをアップデートすると、だれか追いついていけない部分が出てくるというのは、マイクロサービスのデメリットと通ずるものを感じます。

これもエンジニアの宿命か。