Python 集合对象不可调用在PyMongo中有服务器_info()的错误
我正在将我正在工作的django项目升级到python3.4。部署后,我遇到了以下问题 (同一个项目在Python 集合对象不可调用在PyMongo中有服务器_info()的错误,python,django,mongodb,pymongo,pymongo-3.x,Python,Django,Mongodb,Pymongo,Pymongo 3.x,我正在将我正在工作的django项目升级到python3.4。部署后,我遇到了以下问题 (同一个项目在python2.7和pymongo2.8flavor下运行良好。) 我有pymongo3.2和django-mongo会话以及其他库 File "/home/ec2-user/py33/local/lib/python3.4/site-packages/mongo_sessions/session.py", line 8, in <module> from mongo_session
python2.7
和pymongo2.8
flavor下运行良好。)
我有pymongo3.2
和django-mongo会话
以及其他库
File "/home/ec2-user/py33/local/lib/python3.4/site-packages/mongo_sessions/session.py", line 8, in <module>
from mongo_sessions import settings
File "/home/ec2-user/py33/local/lib/python3.4/site-packages/mongo_sessions/settings.py", line 36, in <module>
MONGO_DB_VERSION = MONGO_CLIENT.connection.server_info()['version']
File "/home/ec2-user/py33/local/lib64/python3.4/site-packages/pymongo/collection.py", line 2348, in __call__
self.__name.split(".")[-1])
TypeError: 'Collection' object is not callable. If you meant to call the 'server_info' method on a 'Collection' object it is failing because no such method exists.
文件“/home/ec2 user/py33/local/lib/python3.4/site packages/mongo_sessions/session.py”,第8行,在
从mongo_会话导入设置
文件“/home/ec2 user/py33/local/lib/python3.4/site packages/mongo_sessions/settings.py”,第36行,在
MONGO_DB_VERSION=MONGO_CLIENT.connection.server_info()['VERSION']
文件“/home/ec2 user/py33/local/lib64/python3.4/site packages/pymongo/collection.py”,第2348行,在调用中__
self.\u name.split(“.”[-1])
TypeError:“集合”对象不可调用。如果要对“Collection”对象调用“server\u info”方法,则会失败,因为不存在此类方法。
我调查了看起来相似的问题。但我很确定我使用的是
pymongo3.2
本身 看来django mongo会话尚未更新以支持PyMongo 3.x。您的特殊问题是,在PyMongo 3.0中,Database.connection被重命名为Database.client。失败的代码行应更改为:
MONGO_DB_VERSION = MONGO_CLIENT.client.server_info()['version']
这可能不是唯一需要的改变。有关详细信息,请参阅。我通过将
pymongo
降级为2.8
版本暂时修复了该问题。那么,pymongo 3.2的问题是什么呢?还是别的什么?