ImportError: cannot import name UNAUTHORIZED_CODES

ImportError: cannot import name UNAUTHORIZED_CODES

我正在使用 mongoengine ORM,但我最近将 mongoengie 升级到 0.9,这让我将我的 pymongo 降级到 2.8 版。每当我尝试使用代码

连接到数据库时
from mongoengine import *

connect('dbName')

我收到这个错误

/usr/bin/python2.7 /root/Documents/Projects/BetCafe/main/tester.py   
Traceback (most recent call last):  
File "/root/Documents/Projects/BetCafe/main/tester.py", line 1, in <module>  
from mongoengine import *  

File "/usr/local/lib/python2.7/dist-packages/mongoengine/__init__.py", line 3, in <module>  
import fields  
File "/usr/local/lib/python2.7/dist-packages/mongoengine/fields.py", line 19, in <module>  
import gridfs  
File "/usr/lib/python2.7/dist-packages/gridfs/__init__.py", line 32, in <module>  
from pymongo.common import UNAUTHORIZED_CODES, validate_string    
ImportError: cannot import name UNAUTHORIZED_CODES  

 Process finished with exit code 1

我试过重新安装 pymongo 和 mongoengine,但它们都不起作用

任何帮助将不胜感激。

你似乎有一个新版本的 GridFS(它需要 PyMongo since version 3.1 中的 UNAUTHORIZED_CODES 常量)和你的 Pymongo 的降级版本 2.8。

尝试从 /usr/lib/python2.7/dist-packages/ 中删除目录 gridfsbsonpymongo,然后重新安装 PyMongo。