我不熟悉MongoDB,但熟悉Python。我用
brew install mongodb
然后跑
mkdir -p /data/db
然后
sudo chown -R `id -un` /data/db
我安装了mongoengine
conda install -c conda-forge mongoengine
然后尝试在http://docs.mongoengine.org/tutorial.html处执行简单的示例,我运行了make test.py
,看起来像这样:
from mongoengine import *
connect('mongoengine-test')
class User(Document):
email = StringField(required=True)
bob = User(email='bob@gmail.com')
bob.save()
并用python test.py
运行它。我得到了这个回溯:
Traceback (most recent call last):
File "test3.py", line 13, in <module>
bob = User(email='bob@gmail.com')
File "/Users/benlindsay/miniconda/lib/python3.6/site-packages/mongoengine/base/document.py", line 44, in __init__
self._initialised = False
File "/Users/benlindsay/miniconda/lib/python3.6/site-packages/mongoengine/base/document.py", line 169, in __setattr__
self._is_document and
AttributeError: 'User' object has no attribute '_is_document'
在网上查找这些错误对我来说毫无意义
我可以手动运行mongo
,首先在一个终端中启动mongod
,然后在另一个终端中运行mongo
。使用这种方法,我在纯MongoDB教程中看到的所有命令似乎都可用,但简单的python示例每次都会中断
你知道发生了什么事吗
原来是一些依赖性问题。通过创建新的conda环境并使用pip安装mongoengine,一切正常
相关问题 更多 >
编程相关推荐