現在、Mac OS X 10.6.8 にdjango-mongodb-engine 0.4.0 バージョンをインストールしましたが、「コンパイラ」モジュールのインポート中に興味深いエラーが発生しました。
>> 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 <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
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
ObjectId が pymongo 内にインポートされなくなったため、django_mongodb_engine パッケージが壊れていると思われます。代わりに、bsonモジュールに属します。
この問題を解決するための提案は何ですか? django-mongodb-engine プロジェクトのクローンを作成し、github で修正する必要がありますか?