Не удалось запустить первый run.py накануне

Я пытаюсь научиться накануне использовать его для показа базы данных, и я начинаю с первого накануне первого шага.

run.py

from eve import Eve
app = Eve()

if __name__ == '__main__':
    app.run()

settings.py

DOMAIN = {'people': {}}

requirements.txt

scrapy==0.24.4
eve==0.5
pymongo==3.0.1

python run.py

   eve.io.base.ConnectionException: Error initializing the driver. Make sure the database serveris running. Driver exception: ConfigurationError('Unknown option auto_start_request',)

в чем дело? Почему есть проблема с базой данных, хотя я точно следовал тому, что в eve быстрый старт?

  • virtualenv --version: 12.0.7
  • pip -V: 6.1.1
  • python --version : 2.7.6
  • MongoDB shell version: 2.4.9

1 ответ

Решение

Ошибка, которую вы получаете, заключается в том, что вы используете PyMongo 3.0.1, который сильно нарушает обратную совместимость. Если вы посмотрите на требования Eve, то обнаружите, что для этого требуется PyMongo 2.8 (на самом деле это 2.7.x в производстве; 2.8+ в ветке разработки).

Если вы приобрели PyMongo 3.0.1, то я подозреваю, что вы установили требования вручную. Идеальный способ установить Eve (или любую другую библиотеку Python на самом деле) - это pip-инсталляция из PYPI, даже лучше, если в virtualenv; см. страницу установки.

Напомним, что совместимая ветка PyMongo 3.0.1 готова на GitHub, но в настоящее время она полагается на форк Flask-PyMongo, поскольку текущий выпуск Flask-PyMongo не совместим с PyMongo 3+. Кроме того, если вы хотите запустить MongoDB 3.0 с Eve, вы можете сделать это. PyMongo 2.8 полностью совместим с MongoDB 3.0.

Другие вопросы по тегам