mongodb ImportError:无法从“flask.json”导入名称“JSONEncoder”

1yjd4xko  于 2023-06-29  发布在  Go
关注(0)|答案(1)|浏览(920)

我正在学习Flask的全栈课程。我的init.py看起来像:

from flask import Flask
from config import Config
from flask_mongoengine import MongoEngine

app = Flask(__name__)
app.config.from_object(Config)

db = MongoEngine()
db.init_app(app)

from application import routes

然而,当导入from flask_mongoengine import MongoEngine时,我得到了一个ImportError:

ImportError: cannot import name 'JSONEncoder' from 'flask.json'

我的venv看起来像:

blinker==1.6.2
click==8.1.3
colorama==0.4.6
dnspython==2.3.0
email-validator==2.0.0.post2
Flask==2.3.2
flask-mongoengine==1.0.0
Flask-WTF==1.1.1
idna==3.4
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
mongoengine==0.27.0
pymongo==4.4.0
python-dotenv==1.0.0
Werkzeug==2.3.6
WTForms==3.0.1

我能做些什么来避免这种冲突吗?谢谢!

mgdq6dx1

mgdq6dx11#

flask_mongoengine似乎目前没有维护,并且不适用于当前的Flask版本。如果你一定要使用它,你需要降级你的Flask版本,这可能会(很可能会)给你带来其他麻烦。
在github上有一个关于你的错误消息的问题:https://github.com/MongoEngine/flask-mongoengine/issues/522
Flask 2.2.0在08/2022中出现了弃用警告:培养瓶变更
在简单地看了一下repo之后,似乎维护者已经在上面了:https://github.com/MongoEngine/flask-mongoengine/blob/master/flask_mongoengine/json.py

相关问题