gpt4 book ai didi

python - python3 flask 应用程序中的 pymongo 导入错误

转载 作者:行者123 更新时间:2023-11-28 20:02:18 26 4
gpt4 key购买 nike

我有一个基于 python flask 的应用程序,它写入 mongo 数据库。

我正在使用 python 3 和以下 requirements.txt

Flask
Jinja2
Werkzeug
certifi
chardet
gunicorn
requests
flask_restful
flask
pymongo

我遇到了这个问题:

Traceback (most recent call last):
File "bin/app.py", line 4, in <module>
from helper import save_message_2_db
File "/app/bin/helper.py", line 1, in <module>
from database import DataAccess, MongoDB
File "/app/bin/database.py", line 1, in <module>
import pymongo
File "/app/.heroku/python/lib/python3.6/site-packages/pymongo/__init__.py", line 83, in <module>
from pymongo.collection import ReturnDocument
File "/app/.heroku/python/lib/python3.6/site-packages/pymongo/collection.py", line 21, in <module>
from bson.code import Code
File "/app/.heroku/python/lib/python3.6/site-packages/bson/code.py", line 19, in <module>
from bson.py3compat import string_type, PY3, text_type
ModuleNotFoundError: No module named 'bson.py3compat'

我想了解为什么会发生这种情况?

这部分是我关心的

File "/app/.heroku/python/lib/python3.6/site-packages/pymongo/__init__.py", line 83, in <module>
from pymongo.collection import ReturnDocument
File "/app/.heroku/python/lib/python3.6/site-packages/pymongo/collection.py", line 21, in <module>
from bson.code import Code
File "/app/.heroku/python/lib/python3.6/site-packages/bson/code.py", line 19, in <module>
from bson.py3compat import string_type, PY3, text_type
ModuleNotFoundError: No module named 'bson.py3compat'

大多数互联网博客/链接告诉我 bsonpymongo 不能很好地相互配合。 pymongo 有自己的 bson 版本,我的 requirements.txt 中不需要它。

我正在寻求帮助,看看为什么会发生这种情况,以及如何解决这个问题。


更新 #1

我使用的是 pymongo-3.5.1,问题仍然存在。我刚刚降级到 pymongo-3.5.0,问题就消失了。

这意味着我知道解决这个问题的方法,但上游代码/包有一些问题需要修复。

最佳答案

尝试同时卸载 bsonpymongo:

sudo pip uninstall bson
sudo pip uninstall pymongo

然后重新安装 pymongo 使用 pip:

sudo pip install pymongo

关于python - python3 flask 应用程序中的 pymongo 导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46890665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com