ImportError: Нет модуля с именем objectid

В настоящее время у меня версия django-mongodb-engine0.4.0, установленная на моем Mac OS X 10.6.8, и странным образом обнаружил интересную ошибку при импорте модуля «компилятор»:

>> from django_mongodb_engine import compiler

и я получил следующую ошибку:

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 ()
----> 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 ()
      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

Я установил пакет с помощью команды pip, и все зависимости, такие как pymongo, djangotoolbox, были установлены вместе с ним. Я использовал следующую команду pip:

>> sudo env ARCHFLAGS='-arch i386 -arch x86_64' pip install --upgrade  django-mongodb-engine

Текущие версии связанных пакетов:

>> pip freeze | grep mongo
django-mongodb-engine==0.4.0
pymongo==2.2

Я подозреваю, что пакет django_mongodb_engine не работает, потому что ObjectId больше не импортируется внутрь pymongo. Вместо этого он принадлежит модулю bson.

Каковы ваши предложения по устранению этой проблемы? Должен ли я клонировать проект django-mongodb-engine и исправить его на github?

11
задан ozgur 11 March 2019 в 06:43
поделиться