Ich habe derzeit django-mongodb-engine 0.4.0 Version auf meinem Mac OS X 10.6.8 installiert und weirdly einen interessanten Fehler beim Import der 'Compiler' Modul aufgetreten:Import: named Kein Modul OBJECTID
>> from django_mongodb_engine import compiler
und ich habe der folgende Fehler:
ImportError Traceback (most recent call last)
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_extensions/management/commands/shell_plus.pyc in <module>()
----> 1 from django_mongodb_engine import compiler
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_mongodb_engine/compiler.pyc in <module>()
15 from pymongo.errors import PyMongoError
16 from pymongo import ASCENDING, DESCENDING
---> 17 from pymongo.objectid import ObjectId, InvalidId
18
19 from djangotoolbox.db.basecompiler import NonrelQuery, NonrelCompiler, \
ImportError: No module named objectid
ich installierte das Paket über pip Befehl und alle Abhängigkeiten wie pymongo haben djangotoolbox zusammen mit ihm installiert. Der Pip-Befehl, den ich benutzt hatte, ist dies:
>> sudo env ARCHFLAGS='-arch i386 -arch x86_64' pip install --upgrade django-mongodb-engine
Die aktuellen Versionen der zugehörigen Pakete sind:
>> pip freeze | grep mongo
django-mongodb-engine==0.4.0
pymongo==2.2
Ich vermute, das django_mongodb_engine Paket defekt ist, weil ObjectId nicht mehr innerhalb pymongo importiert wird. Stattdessen gehört es zu bson Modul.
Was sind Ihre Vorschläge, um dieses Problem zu beheben? Sollte ich das Django-Mongodb-Engine-Projekt klonen und auf Github fixieren?
Vielen Dank im Voraus.
bekam ich den Patch für diesen begehen. Sieht so aus, als wäre es vor 12 Tagen gepatcht worden, nicht in Version 0.4.0. https://github.com/mgmtech/mongodb-engine/commit/d3cba0d013350d5b085bed9ea440a04b232f8575 – ozgur