ModuleNotFoundError:没有名为“werkzeug.posixemulation”的模块

2024-09-30 16:26:28 发布

您现在位置:Python中文网/ 问答频道 /正文

部署Python Flask网站时遇到此错误:

ModuleNotFoundError: No module named 'werkzeug.posixemulation'

我发现这个{a1}上面写着要安装werkzeug

所以我在本地做了一个pip install werkzeug,然后做了一个pip freeze,它说这个版本是 Werkzeug==2.0.1

我在需求中添加了Werkzeug==2.0.1,但是在旋转Flask网站时仍然会出现错误

该问题已报告:https://github.com/pallets/secure-cookie/issues/12

我怎样才能解决这个问题


Tags: installpipnoflask网站部署a1错误
2条回答

遵循GitHub问题中的建议

Our tests are now failing with werkzeug 2.0.0rc1:

因此,请检查二进制存储库中以前的版本。在我们的例子中,结果是1.0.1

解决方案

将Werkzeug模块添加到Requirements.txt文件中,明确说明以前的版本,例如:

Werkzeug==1.0.1

可能您的烧瓶扩展之一需要旧版本的Wekzeug。首先,我会检查它在哪里失败,例如:

Traceback (most recent call last):
  ...
  File "/home/.../lib/python3.9/site-packages/flask_caching/.../filesystem.py", line 7, in <module>
    from werkzeug.posixemulation import rename
ModuleNotFoundError: No module named 'werkzeug.posixemulation'

这里我使用的是旧版本的“flask_缓存”,flask 2.0.x没有升级。在这种情况下,解决方案是将“flask_缓存”升级到最新版本(使用flask 2.0.x)

您的具体案例secure-cookie(从问题链接获得)。如果您的扩展没有升级到使用flask 2.0.x或依赖于旧版本的Werkzeug,您需要将flask降级到“~=1.1.0”,因为flask 2.0.x会影响其他托盘项目的最低版本(包括Werkzeug>;=2)

相关问题 更多 >