我试图学习前夕使用它来公开数据库,我从头开始eve first step。
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
答案 0 :(得分:3)
您得到的错误是因为您正在运行PyMongo 3.0.1,这会大大破坏向后兼容性。如果你研究Eve requirements,你会发现它需要PyMongo 2.8(实际上它在生产中是2.7.x;在开发分支上是2.8+)。
如果你有PyMongo 3.0.1,那么我怀疑你手动安装了这些要求。安装Eve(或任何其他Python库)的理想方法是从PYPI进行pip安装,如果在virtualenv中更好;请参阅installation页。
为了记录,PyMongo 3.0.1兼容分支已在GitHub上准备就绪,但它目前依赖于Flask-PyMongo分支,因为当前的Flask-PyMongo版本与PyMongo 3+不兼容。此外,如果你想用Eve运行MongoDB 3.0,你可以这样做。 PyMongo 2.8与MongoDB 3.0完全兼容。