首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask- MongoEngine :无法从flask-mongoengine导入mongoengine

Flask- MongoEngine :无法从flask-mongoengine导入mongoengine
EN

Stack Overflow用户
提问于 2018-07-26 08:31:11
回答 2查看 1.6K关注 0票数 0

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

我有非常基本的代码,可以在flask-mongoengine文档中看到。test.py:

代码语言:javascript
复制
from flask import Flask
from flask_mongoengine import MongoEngine

当我跑的时候

python test.py ...

代码语言:javascript
复制
from flask_mongoengine import MongoEngine
ImportError: cannot import name 'MongoEngine'

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

代码语言:javascript
复制
click==6.7
Flask==1.0.2
flask-mongoengine==0.9.5
Flask-WTF==0.14.2
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
mongoengine==0.15.3
pymongo==3.7.1
six==1.11.0
Werkzeug==0.14.1
WTForms==2.2.1

我的解释器是Python 3.6.5,如果有任何帮助,我们将不胜感激。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-01 10:31:06

由于您使用的是虚拟环境,因此您是否尝试从虚拟环境中打开编辑器?例如,从命令行打开vscode编辑器就是"code“。通过终端进入你的虚拟环境并激活,然后在提示符下输入"code“。

代码语言:javascript
复制
terminal:~path/to/virtual-enviroment$ source bin/activate
(virtual-enviroment)terminal:~path/to/virtual-enviroment$ code

如果这不起作用,我自己还没有用过flask-mongoengine。我对它的抽象带来的任何问题都很紧张,只使用了Mongoengine和Flask。

我假设你只是使用这个库来管理连接,所以如果你不能用flask-mongoengine解决你的问题,但是仍然对使用mongoengine感兴趣,这是我的方法。~

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

代码语言:javascript
复制
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请求函数中连接和断开数据库,如下所示-

代码语言:javascript
复制
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()

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2019-12-11 19:53:37

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

代码语言:javascript
复制
deactivate
pip install flask-mongoengine 

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

venv\Scripts\activate
flask run
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51529408

复制
相关文章

相似问题

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