Flask mongoengine:无法从Flask mongoengine导入mongoengine

Flask mongoengine:无法从Flask mongoengine导入mongoengine,flask,mongoengine,flask-mongoengine,Flask,Mongoengine,Flask Mongoengine,我肯定遗漏了什么,但我环顾四周,找不到有关这个问题的参考资料 我有非常基本的代码,如flask mongoengine文档中所示。 test.py: 当我跑的时候 python test.py 虚拟环境中的模块包含(requirements.txt): 我的解释器是Python 3.6.5 任何帮助都将不胜感激。谢谢。自从您使用虚拟环境以来,您是否尝试从虚拟环境打开编辑器? 例如,从命令行打开vscode编辑器就是“code”。通过终端进入虚拟环境并激活,然后在提示下键入“代码” termin

我肯定遗漏了什么,但我环顾四周,找不到有关这个问题的参考资料

我有非常基本的代码,如flask mongoengine文档中所示。 test.py:

当我跑的时候

python test.py

虚拟环境中的模块包含(requirements.txt):

我的解释器是Python 3.6.5
任何帮助都将不胜感激。谢谢。

自从您使用虚拟环境以来,您是否尝试从虚拟环境打开编辑器? 例如,从命令行打开vscode编辑器就是“code”。通过终端进入虚拟环境并激活,然后在提示下键入“代码”

terminal:~path/to/virtual-enviroment$ source bin/activate
(virtual-enviroment)terminal:~path/to/virtual-enviroment$ code
如果这不起作用的话,我自己也没有用过flask mongoengine。我对它的抽象可能带来的任何问题感到紧张,而只是将Mongoengine与Flask结合使用

我假设您仅将此库用于连接管理,因此如果您无法解决flask mongoengine的问题,但仍对使用mongoengine感兴趣,这就是我的方法~

我会把它放在某个配置文件中,并在适当的地方导入它-

from flask import Flask

MONGODB_DB = 'DB_NAME'
MONGODB_HOST = '127.0.0.1' # or whatever your db address
MONGODB_PORT = 27017  # or whatever your port

app = Flask(__name__) # you can import app from config and it will keep its configurations
然后,我将在每个HTTP请求函数中连接和断开与数据库的连接,如下所示-

from config import MONGO_DB, MONGODB_HOST, MONGODB_PORT

# to connect
db = connect(MONGODB_DB, host=MONGODB_HOST, port=MONGODB_PORT)

# to close connection before any returns
db.close()

希望这能有所帮助。

我遇到了这个问题,并通过停用、重新安装flask mongoengine和重新激活venv(都在终端中)解决了它:

terminal:~path/to/virtual-enviroment$ source bin/activate
(virtual-enviroment)terminal:~path/to/virtual-enviroment$ code
from flask import Flask

MONGODB_DB = 'DB_NAME'
MONGODB_HOST = '127.0.0.1' # or whatever your db address
MONGODB_PORT = 27017  # or whatever your port

app = Flask(__name__) # you can import app from config and it will keep its configurations
from config import MONGO_DB, MONGODB_HOST, MONGODB_PORT

# to connect
db = connect(MONGODB_DB, host=MONGODB_HOST, port=MONGODB_PORT)

# to close connection before any returns
db.close()
deactivate
pip install flask-mongoengine 

# Not required but good to check it was properly installed    
pip freeze

venv\Scripts\activate
flask run