python - 为 CouchDB 设置 Python ViewServer

标签 python macos couchdb

我正在努力跟上 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/

相关文章:

JSONLint 验证错误--预期 EOF

python - Python 函数注解有什么用?

python - 如何覆盖 CsvItemExporter 的 join_multivalued 选项

macos - 在 mac osx 中编译 pgrouting 时出错

javascript - 如何在 JavaScript Automation 中获取最前面的 Safari 文档或选项卡?

java - 在 Mac OS 上将 eclipse rcp 应用程序从 3.3 升级到 3.5 时出现问题

node.js - 验证 CouchDB cradle 中列中值的唯一性

couchdb - CouchDB 是否支持参照完整性?

python - 如何创建更多表 Pythonanywhere

python - 二元对数损失是否排除了基于 y 的方程的一部分?