私はPython flask
ベースのappを持っています。これはmongoデータベースに書き込みます。python3フラスコアプリケーションのpymongoインポートエラー
私はこの問題に遭遇し、次のrequirements.txt
Flask
Jinja2
Werkzeug
certifi
chardet
gunicorn
requests
flask_restful
flask
pymongo
でpython 3
を使用しています:
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'
私はこれが起こるん理由を理解しようとしていますか?
このセクションでは、私はインターネットのブログ/リンクのほとんどはbson
と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'
と心配するものです。 pymongo
はbson
という独自のバージョンを持っています。私はrequirements.txt
にそれを必要としません。
私は、これがなぜ起こるのか、これをどのように修正するのかを知る助けが必要です。
更新#1
私はpymongo-3.5.1
を使用して、問題が解決しないのthatsました。私はちょうどpymongo-3.5.0
にダウングレードし、問題はなくなった。
これはこれを解決するための回避策を知っていますが、上流のコード/パッケージには修正が必要な問題があります。
上記のエラーは私の 'python version'と' requirements.txt'と関係があると思います – sudhishkr
もう一度アップグレードを試みましたか?これら2つのバージョン間の[比較](https://github.com/mongodb/mongo-python-driver/compare/0b0f045...ca57ece)では、問題の関連する変更は表示されません。 – c11o
@ c11o - これはクレイジーです、私は私のヒーローデプロイ手順で何らかの問題を抱えていたと思います。今私は最新に移動し、私はその問題を見ていない。 – sudhishkr