gpt4 book ai didi

python - py2neo - neo4j.GraphDatabaseService(db_string) 使 python 崩溃;没有错误日志

转载 作者:太空宇宙 更新时间:2023-11-04 06:23:05 25 4
gpt4 key购买 nike

最近几天我安装了 Python 2.7.3 和 Neo4J 社区版 1.8.M01。我设法使嵌入式 python 绑定(bind)正常工作,但由于我需要 py2neo REST 绑定(bind),所以我按照 http://py2neo.org/ 中的描述安装了它们.此外,由于“权限被拒绝(公钥)”错误,我无法直接从 git 下载,因此我从下载部分获取了可用的 py2neo-1.2.6.tar.gz 版本。

虽然安装本身不是问题,但我无法让示例在调用 neo4j.GraphDatabaseService(' http://localhost:7474/db/data ') 时运行 python 崩溃而没有任何错误消息 - Win7 64 位仅弹出一条消息,指出applicationn 没有响应。 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()

返回起始页的内容。

我已经通过打印消息跟踪堆栈跟踪进入 tornado.IOLoop.start() 并进入 _run_callback() ,它实际执行 callback() 并崩溃。不确定是否应在此处调用在 tornado.HTTPClient.fetch() 中定义的回调函数 - 在 <tornado.stack_context._StackContextWrapper object at ...> 中打印回调结果

关于如何解决这个问题有什么建议吗?

提前致谢,罗马


编辑:更正了输入错误的端口


edit2:经过更长的调试 session ,稍微缩小了故障点,Nigel 为我提供了一种通过交换来处理我的问题的方法

self._http = http or httpclient.HTTPClient(curl_httpclient.CurlAsyncHTTPClient)

self._http = http or httpclient.HTTPClient()

在 rest.py 的第 55 行。这是一种解决方法,但不能解决 tornado/pycurl 后面的问题。 Windows 管理控制台将 pycurl.pyd 声明为崩溃的原因,并且由于一些节点(在 GraphDatabaseService 很少运行的初始化之后)存储在 Neo4J 中并且下面的调试输出不再显示,所以崩溃一定发生了在发送请求和返回主应用程序之间。我目前认为,要么是我在 Windows 上使用的 Selection poll 是崩溃的原因,要么是 curl-handle 在不同线程之间共享——这不应该发生(http://curl.haxx.se/libcurl/c/libcurl-tutorial.html)——并且在某种程度上是最容易理解的我的原因

最佳答案

得知您在使用 py2neo 时遇到问题,我们深感抱歉。我没有在 Windows 下进行任何测试,因为我只运行 Linux,所以我不确定那里是否存在任何一般的不兼容性。我也知道错误报告少于应有的数量,这受到我必须在该项目上工作的时间的限制。

就是说,我注意到您在端口 4747 而不是默认的 7474 上运行 - 或者这是一个拼写错误?您是否尝试过直接针对根数据库 URI 进行简短的 cURL 测试?

你似乎已经涵盖了所有的基础,看看所涉及的层,所以我不确定这里还有什么要看的。我考虑过添加一个选项,以便能够在 curl_httpclient 和 simple_httpclient 之间切换——这可能会提供一个可供尝试的替代方案。在接下来的几天里,我会尝试提出一些建议。

尼格

关于python - py2neo - neo4j.GraphDatabaseService(db_string) 使 python 崩溃;没有错误日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10492060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com