我正在努力跟上 CouchDB 的步伐。作为 Python 的新用户,我正在尝试设置一个 View 服务器,以便我可以将 python 函数传递给 couchdb.design.ViewDefinitions 函数。据我了解,ViewDefinitions 使用 javascript 代码来执行 map/reduce 函数。
以下是我难以理解的内容 - 我很清楚这可能是一个基本问题。根据 wiki ( http://wiki.apache.org/couchdb/View_server ):
要向 CouchDB 注册查询服务器,请在 local.ini 中为每个服务器添加一行。基本语法是: '[query_servers] python=/usr/bin/couchpy'
如何访问 local.ini 文件?我是 10.6.8 Mac 用户。谢谢!
更新:谢谢 Kxepal。看来我能够用 Python 在 Futon 上创 build 计/ View 。或者,我认为可以按如下方式创建 python viewserver: curl -X PUT http://[localhost]/_config/query_servers/python '"/path/to/couchpy"'
但是,我仍然无法执行 python 脚本。在 Couch 上运行 View 会产生以下结果: '错误:访问 View 时发生错误无响应'
如果有人能指出正确的方向,我将不胜感激。谢谢!
最佳答案
我遇到了同样的“Error: An error occurred accessing the view no response”的问题,结果证明是我的python代码中的一个bug。具体来说,在 javascript 实现中我有类似的东西:
function (doc) {
emit(doc.somefield, doc);
}
我已将其转换为:
def map(doc):
yield doc.somefield, doc
但是,这给了我您描述的“无响应”错误。
将其更改为以下解决了问题。
def map(doc):
yield doc['somefield'], doc
关于python - 为 CouchDB 设置 Python ViewServer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15456989/