为CouchDB设置Python ViewServer

2024-10-03 23:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力跟上CouchDB的进度。作为一个相对较新的Python用户,我正在尝试设置一个视图服务器,以便可以将Python函数传递给couchdb.design.ViewDefinitions功能。据我所知,ViewDefinitions使用javascript代码来执行map/reduce函数。在

这是我很难理解的-我很清楚这可能是一个基本问题。根据wiki(http://wiki.apache.org/couchdb/View_server):

要向CouchDB注册查询服务器,请为每个服务器添加一行本地.ini. 基本语法是: “[query_servers]python=/usr/bin/couchpy”

如何访问本地.ini文件?我是一个10.6.8Mac用户。谢谢!在

更新:谢谢你Kxepal。我似乎能够用Python在Futon上创建设计/视图。或者,我认为可以按如下方式创建python viewserver: curl-xput http://[localhost]/\u config/query_servers/python'”/path/to/couchpy“'

但是,我仍然不能执行python脚本。在Couch上运行视图会导致以下结果: '错误:访问视图时出错无响应'

如果有人能指出正确的方向,我将不胜感激。谢谢!在


Tags: 函数用户功能服务器视图httpwikiquery
2条回答

我不知道OSX保存CouchDB配置文件,但是您可以通过Futon设置Python查询服务器。在侧边栏上,单击配置,然后在页面底部的“添加部分”,并用您计划写入的相同数据填充字段本地.ini. 另外,您不需要重新启动CouchDB-通过httpapi进行的配置更改可以立即应用,但是要确保指定了正确的值。在

我遇到了同样的“错误:访问视图没有响应时出错”的问题,结果发现这是我的python代码中的一个bug。具体地说,在javascript实现中,我有类似于:

function (doc) {    
    emit(doc.somefield, doc);
}

我把它改成:

^{pr2}$

但是,这给了我你描述的“没有响应”错误。在

将其更改为以下内容可解决此问题。在

def map(doc):
        yield doc['somefield'], doc

相关问题 更多 >