使用MongoKit我得到一些非常奇怪的错误:
>>> from mongokit import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/mongokit/__init__.py", line 35, in <module>
from document import Document, ObjectId
File "/usr/local/lib/python2.7/dist-packages/mongokit/document.py", line 48, in <module>
from pymongo.objectid import ObjectId
ImportError: No module named objectid
我尝试了一切以找到原因,但没有任何帮助。 实际上我用google搜索“ImportError:没有名为objectid的模块”错误,它根本没有结果。我尝试按照简单教程http://namlook.github.com/mongokit/introduction.html#a-quick-example使用MongoKit,本教程的第一行产生了这个奇怪的错误。以下是MongoKit安装的日志。
我做错了什么?
user@server:~$ sudo pip install mongokit
Downloading/unpacking mongokit
Downloading mongokit-0.7.2.tar.gz (69Kb): 69Kb downloaded
Running setup.py egg_info for package mongokit
Downloading/unpacking pymongo>=2.0.1 (from mongokit)
Downloading pymongo-2.2.tar.gz (228Kb): 228Kb downloaded
Running setup.py egg_info for package pymongo
Downloading/unpacking anyjson>=0.2.2 (from mongokit)
Downloading anyjson-0.3.1.tar.gz
Running setup.py egg_info for package anyjson
Installing collected packages: mongokit, pymongo, anyjson
Running setup.py install for mongokit
Running setup.py install for pymongo
building 'bson._cbson' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/_cbsonmodule.c -o build/temp.linux-i686-2.7/bson/_cbsonmodule.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/time64.c -o build/temp.linux-i686-2.7/bson/time64.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/buffer.c -o build/temp.linux-i686-2.7/bson/buffer.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/encoding_helpers.c -o build/temp.linux-i686-2.7/bson/encoding_helpers.o
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-i686-2.7/bson/_cbsonmodule.o build/temp.linux-i686-2.7/bson/time64.o build/temp.linux-i686-2.7/bson/buffer.o build/temp.linux-i686-2.7/bson/encoding_helpers.o -o build/lib.linux-i686-2.7/bson/_cbson.so
building 'pymongo._cmessage' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c pymongo/_cmessagemodule.c -o build/temp.linux-i686-2.7/pymongo/_cmessagemodule.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.7 -c bson/buffer.c -o build/temp.linux-i686-2.7/bson/buffer.o
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-i686-2.7/pymongo/_cmessagemodule.o build/temp.linux-i686-2.7/bson/buffer.o -o build/lib.linux-i686-2.7/pymongo/_cmessage.so
Running setup.py install for anyjson
Successfully installed mongokit pymongo anyjson
Cleaning up...
答案 0 :(得分:11)
答案 1 :(得分:10)
正如Electro所说,这是一个Bug。
我使用以下脏的小黑客来保持我的网站运行,直到它被修复:
import sys
import pymongo
import bson.objectid
pymongo.objectid = bson.objectid
sys.modules["pymongo.objectid"] = bson.objectid