我目前已安裝django-mongodb-engine版本0.4.0在我的Mac OS X 10.6.8和古怪,而導入「編譯器」模塊中遇到一個有趣的錯誤:導入錯誤:沒有名爲模塊OBJECTID
>> 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已經與它一起安裝。我想用畫中畫的命令是這樣的:
>> 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嗎?
在此先感謝。
我得到這個提交補丁。看起來,它在12天前被修補,而不是在0.4.0版本中。 https://github.com/mgmtech/mongodb-engine/commit/d3cba0d013350d5b085bed9ea440a04b232f8575 – ozgur