当我试图运行我的web应用程序的后端时,我得到了以下错误:ImportError: cannot import name 'run_with_reloader' from 'werkzeug.serving'。它来自\lib\site-packages\werkzeug\serving.py文件。我认为这与我的服务器文件中的行from flask_socketio import SocketIO有关。有什么想法吗?
发布于 2022-04-15 15:17:47
这个错误已经解决了,所以您很可能使用的是一个旧版本的。一旦升级,错误就会消失。
发布于 2022-05-17 17:56:20
我需要继续使用烧瓶-socketio v4 (用于较老的socketio.js),并将其固定在2.0.x版本的Werkzeug上,解决了这个问题。
--- a/python-flask-socketio-server/requirements.txt
+++ b/python-flask-socketio-server/requirements.txt
@@ -1,4 +1,5 @@
flask
+Werkzeug==2.0.1
flask-socketio==4.3.2
# wheel should not be needed, but avoids pyyaml paho-mqtt bdist_wheel error
wheel注意:我还需要告诉pip不要使用缓存的包,否则它仍然会将问题的2.1.x版本拉到正在重新生成的virtualenv中。
pip install --no-cache-dir -r requirements.txt发布于 2022-05-10 12:29:02
解决方案是安装以下Werkzeug版本(Werkzeug-0.10.2.dev0dev-20220510)以及以下版本:在MacOS中测试
pip3 install Flask-SocketIO==4.3.1
pip3 install python-engineio==3.13.2
pip3 install python-socketio==4.6.0
pip3 install git+https://github.com/untitaker/werkzeug.git@reloader-perf
https://stackoverflow.com/questions/71850969
复制相似问题