sud*_*hkr 2 python mongodb pymongo python-3.x pymongo-3.x
我有一个flask
基于python 的应用程序,它写入mongo数据库.
我正在使用python 3
以下内容requirements.txt
Flask
Jinja2
Werkzeug
certifi
chardet
gunicorn
requests
flask_restful
flask
pymongo
Run Code Online (Sandbox Code Playgroud)
我遇到了这个问题:
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'
Run Code Online (Sandbox Code Playgroud)
我想知道为什么会这样?
这部分是我关心的
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'
Run Code Online (Sandbox Code Playgroud)
大多数互联网博客/链接都告诉我bson
,pymongo
并且彼此不能很好地互动.pymongo
有自己的版本,bson
我不需要它在我的requirements.txt
.
我正在寻求帮助,看看为什么会发生这种情况,以及如何重新解决这个问题.
更新#1
我正在使用pymongo-3.5.1
,这就是问题仍然存在的地方.我只是降级到pymongo-3.5.0
了,问题就消失了.
这意味着我知道解决此问题的解决方法,但上游代码/包有一些需要修复的问题.
尝试卸载两者bson
并pymongo
:
sudo pip uninstall bson
sudo pip uninstall pymongo
Run Code Online (Sandbox Code Playgroud)
然后pymongo
使用pip重新安装:
sudo pip install pymongo
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3150 次 |
最近记录: |