Простой тест Mongoengine выдает ошибку на Mac OSX - PullRequest
0 голосов
/ 13 сентября 2018

Я новичок в MongoDB, но знаком с Python.Я установил MongoDB с

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, я запустил made 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 ломается каждый раз.

Есть идеи о том, что происходит?

1 Ответ

0 голосов
/ 13 сентября 2018

Оказывается, это была проблема зависимости. Создав новую среду conda и установив mongoengine с pip, все работало нормально.

...