ImportError:无法导入名称UNAUTHORIZED_CODES
问题描述:
我正在使用mongoengine ORM,但我最近将mongoengie升级到了0.9,这让我将pymongo降级到了2.8版本。每当我尝试使用的代码ImportError:无法导入名称UNAUTHORIZED_CODES
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(它需要UNAUTHORIZED_CODES
常量,在PyMongo since version 3.1中),而您的降级版本的Pymongo 2.8版本。
尝试从/usr/lib/python2.7/dist-packages/
删除目录gridfs
,bson
和pymongo
,然后再次安装PyMongo。
升级pymongo?升级网格? – Evert