错误-CTFd的安装-ModuleNotFoundError:没有名为“werkzeug.posixemulation”的模块[关闭]

问题描述 投票:0回答:0

我关注了一个 CTFd 安装视频: https://www.youtube.com/watch?v=xbZ7QzaYpZ4

在 debian 11 VM 上安装顺利。但是当我第二天打开我的虚拟机时,我得到了一个错误:

4 月 27 日 14:20:40 Debian gunicorn3[4398]:导入错误:无法从“flask.helpers”导入名称“safe_join”(/home/ctfd/.local/lib/python3.9/site-packages/flask/helpers .py)

我在调用函数时通过在 CTFd/CTFd/init.py 中用 werkzeug 替换 flask 来解决的问题:

从 werkzeug.utils 导入 safe_join

不幸的是,为了使代码适应 werkzeug.utils,我不得不将 Flask-SQLAlchemy 更新到版本 2.5.1.

这会产生其他错误,例如:

4 月 28 日 11:29:28 Debian gunicorn3[3116]:ModuleNotFoundError:没有名为“werkzeug.posixemulation”的模块 4 月 28 日 11:29:28 Debian gunicorn3[3115]: [2023-04-28 11:29:28 +0400] [3115] [INFO] 工人退出 (pid: 3115) 4 月 28 日 11:29:28 Debian gunicorn3[3116]: [2023-04-28 11:29:28 +0400] [3116] [INFO] 工人退出 (pid: 3116)

解决此问题,建议将Werkzeug升级到2.0.1版本: ModuleNotFoundError:没有名为“werkzeug.posixemulation”的模块

只不过CTFd的requirements.txt里面已经是这个版本了!

如何正确安装CTFd?我应该尝试 Ubuntu 20.4 吗?

flask-sqlalchemy gunicorn werkzeug
© www.soinside.com 2019 - 2024. All rights reserved.