首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError:无法从“werkzeug.routing”导入名称“parse_rule”

ImportError:无法从“werkzeug.routing”导入名称“parse_rule”
EN

Stack Overflow用户
提问于 2022-07-25 08:06:22
回答 4查看 13.3K关注 0票数 30

在另一个系统上运行我的烧瓶项目后,我收到了以下消息。应用程序一直在运行,没有问题:

代码语言:javascript
复制
Error: While importing 'app', an ImportError was raised:

Traceback (most recent call last):
  File "c:\users\User\appdata\local\programs\python\python39\lib\site-packages\flask\cli.py", line 214, in locate_app
    __import__(module_name)
  File "C:\Users\User\Desktop\Projekt\app\__init__.py", line 3, in <module>
    from flask_restx import Namespace, Api
  File "c:\users\User\appdata\local\programs\python\python39\lib\site-packages\flask_restx\__init__.py", line 5, in <module>
  File "c:\users\User\appdata\local\programs\python\python39\lib\site-packages\flask_restx\api.py", line 50, in <module>
    from .swagger import Swagger
  File "c:\users\User\appdata\local\programs\python\python39\lib\site-packages\flask_restx\swagger.py", line 18, in <module>
    from werkzeug.routing import parse_rule
ImportError: cannot import name 'parse_rule' from 'werkzeug.routing' (c:\users\User\appdata\local\programs\python\python39\lib\site-packages\werkzeug\routing\__i
nit__.py)

我的requirements.txt

代码语言:javascript
复制
Flask~=2.1.2
psycopg2-binary==2.9.3
Flask-SQLAlchemy==2.5.1
flask-restx==0.5.1
qrcode~=7.3.1
PyPDF2==2.6.0
reportlab~=3.6.10
WTForms~=3.0.1
flask-bootstrap==3.3.7.1
flask-wtf==1.0.1
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-07-25 08:06:22

解决方案(解决办法)是,我在requirements.txt的2.1.2版本中另外包括了werkzeug。

代码语言:javascript
复制
werkzeug==2.1.2

关于https://issuemode.com/issues/apache/airflow/111093941#answer-108883148的更多信息

在此之后,我可以启动烧瓶应用程序。

票数 28
EN

Stack Overflow用户

发布于 2022-07-25 12:23:04

这是因为parse_rule()werkzeug的最新版本中被标记为:internal:,这会影响flask-restx (以及其他许多方面,比如flask-login)。

https://github.com/python-restx/flask-restx/issues/460flask-restx开放,https://github.com/maxcountryman/flask-login/issues/686flask-login开放。

正如您已经提到的,固定在旧版本上是目前的解决办法(即werkzeug==2.1.2)。

票数 19
EN

Stack Overflow用户

发布于 2022-08-12 15:11:11

复制这里从github的问题,为那些发现这一点。如果您使用的是与水瓶,并试图降级到Werkzeug 2.1.2,您将得到一个错误,因为烧瓶需要2.2.x从Werkzeug。您需要降低烧瓶的等级,如下所示:

代码语言:javascript
复制
Werkzeug <= 2.1.2   
flask == 2.1.2   
flask-restx >= 0.5.1  
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73105877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档