最近几天我安装了Python 2.7.3和Neo4J社区版1.8.M01。我设法让嵌入式python绑定工作,但是由于我需要py2neo REST绑定,我已经像http://py2neo.org/中描述的那样安装了它们。此外,由于“权限被拒绝(公钥)”错误,我无法直接从git下载,所以我从下载部分获取了可用的py2neo-1.2.6.tar.gz版本。
虽然安装本身不是问题,但我无法让示例工作,因为调用neo4j.GraphDatabaseService('http://localhost:7474/db/data')python崩溃没有任何错误消息 - Win7 64bit只弹出一条消息应用程序没有响应。 Java,Python和Neo4J都以64位为基础运行,服务器可以在http://localhost:7474上访问。我甚至试图强制输出如下所述:Catching a python app before it exits - 但仍然没有堆栈跟踪或错误日志。
我已经从头开始或通过www.lfd.uci.edu/~gohlke/pythonlibs/上提供的可执行文件多次安装了所有内容,但是没有任何设法让这个示例正常工作。
我已经安装了tornado 2.2.1和pycurl 7.23.1。 pycurl.version_info()揭示:(3, '7.23.1', 464641, 'Windows', 28, 'OpenSSL/0.9.8s', 0, '1.2.5', ('gopher', 'http', 'https', 'imap', 'imaps', 'pop3', 'pop3s', 'rtsp', 'smtp', 'smtps'), None, 0, None)
- 而且
c = pycurl.Curl()
c.setopt(c.URL, 'http://stackoverflow.com')
c.perform()
返回起始页的内容。
我通过print-messages将stacktrace跟踪到tornado.IOLoop.start()并进入_run_callback(),它实际上执行了callback()和崩溃。如果在此处调用tornado.HTTPClient.fetch()中定义的回调函数,那么不是shure - 在<tornado.stack_context._StackContextWrapper object at ...>
打印回调结果
有关如何解决此问题的任何建议吗?
提前致谢, 罗马
编辑:更正错误的端口
edit2:在更长的调试会话之后,Nigel为我提供了一种通过交换来解决我的问题的方法。
self._http = http or httpclient.HTTPClient(curl_httpclient.CurlAsyncHTTPClient)
与
self._http = http or httpclient.HTTPClient()
在rest.py的第55行。这是一种解决方法,但没有解决龙卷风/ pycurl背面的问题。 Windows管理控制台将pycurl.pyd声明为崩溃的原因,并且由于某些节点(在GraphDatabaseService初始化很少运行之后)存储在Neo4J中并且下面的调试输出不再显示,因此必须发生崩溃发送请求和返回主应用程序之间。我目前认为,选择民意调查,我回到Windows上,是崩溃的原因,或者可能是卷曲句柄在不同的线程之间共享 - 这不应该发生(http://curl.haxx.se/libcurl/c/libcurl-tutorial.html) - 并且不知何故最可理解的原因imo
答案 0 :(得分:1)
很抱歉听到您遇到py2neo问题。我没有在Windows下进行任何测试,因为我只运行Linux,所以我不确定那里是否存在任何一般的不兼容性。我也知道错误报告的数量应该少于我应该在项目上工作的时间。
那就是说,我注意到你在端口4747而不是默认的7474上运行 - 或者这是一个错字?您是否直接针对根数据库URI尝试了简短的cURL测试?
你好像已经覆盖了所有涉及图层的基础,所以我不确定在这里还有什么可看的。我考虑添加一个选项,以便能够在curl_httpclient和simple_httpclient之间切换 - 这可以提供替代尝试。我将尝试在接下来的几天内提出一些建议。
的NiGe