Python 无法获取到Neo4j数据库的连接

Python 无法获取到Neo4j数据库的连接,python,neo4j,Python,Neo4j,我正在尝试从一台新机器连接到我的Neo4j图形数据库服务器。我可以从旧机器成功连接,但不希望再使用旧机器 我已将问题简化为返回异常的简单脚本: from neo4j.v1 import GraphDatabase, basic_auth auth = basic_auth("username","password") session = GraphDatabase.driver("bolt://remote.server:7687",auth=auth).session() statemen

我正在尝试从一台新机器连接到我的Neo4j图形数据库服务器。我可以从旧机器成功连接,但不希望再使用旧机器

我已将问题简化为返回异常的简单脚本:

from neo4j.v1 import GraphDatabase, basic_auth

auth = basic_auth("username","password")
session = GraphDatabase.driver("bolt://remote.server:7687",auth=auth).session()

statement = """MATCH (a:Protein)
WHERE a.name={name}
RETURN a.Accession"""

tx = session.begin_transaction()
record = tx.run(statement,{'name':"ARCH_HUMAN"}).single()
print record['a.Accession']

session.close()
错误消息是:

File "Test.py", line 10, in <module>
    tx = session.begin_transaction()
File "/home/username/anaconda2/lib/python2.7/site-packages/neo4j/v1/api.py", line 432, in begin_transaction
    self._connect()
  File "/home/username/anaconda2/lib/python2.7/site-packages/neo4j/v1/api.py", line 269, in _connect
self._connection = self._acquirer(access_mode)
  File "/home/username/anaconda2/lib/python2.7/site-packages/neo4j/v1/direct.py", line 52, in acquire
raise ServiceUnavailable("Cannot acquire connection to {!r}".format(self.address))
neo4j.exceptions.ServiceUnavailable: Cannot acquire connection to Address(host='remote.server', port=7687)
文件“Test.py”,第10行,在
tx=会话。开始\u事务()
文件“/home/username/anaconda2/lib/python2.7/site packages/neo4j/v1/api.py”,第432行,在begin_事务中
self._connect()
文件“/home/username/anaconda2/lib/python2.7/site packages/neo4j/v1/api.py”,第269行,在_connect中
自连接=自收单机构(访问模式)
文件“/home/username/anaconda2/lib/python2.7/site packages/neo4j/v1/direct.py”,第52行,在acquire中
raise ServiceUnavailable(“无法获取到{!r}的连接”。格式(self.address))
neo4j.exceptions.ServiceUnavailable:无法获取到地址(host='remote.server',port=7687)的连接
端口7687打开(通过
netstat-tulpn
iptables-L
确认),neo4j配置为侦听0.0.0:7687。此外,
.neo4j/known_hosts
包含主机0.0.0的条目

奇怪的是,如果我使用不正确的密码破坏身份验证,我会收到不同的错误消息(neo4j.exceptions.AuthError)。因此,正在进行连接以检查密码,但我仍然无法使用正确的身份验证进行连接


发生了什么事?

尝试取消注释
dbms.connectors.default\u listen\u address=0.0.0
并检查此项

# Bolt connector
dbms.connector.bolt.enabled=true
dbms.connector.bolt.tls_level=OPTIONAL
dbms.connector.bolt.listen_address=:7687
# HTTP Connector. There must be exactly one HTTP connector.
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474    
# HTTPS Connector. There can be zero or one HTTPS connectors.
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=:7473

我也有同样的问题,结果发现问题出在司机身上


我做了一些实验,发现它的最后一个驱动程序是
neo4j-driver==v1.1.0
,但是下一个版本
neo4j-driver==v1.2.0
由于某种原因它停止了工作

有一个,没有一个可接受的答案。@cybersam该问题似乎是指定端口号的问题,如果我从neo4j驱动程序v1.5.3降级到v1.1.0b1,我发现上面的脚本工作正常,这里就出现了该端口号。我现在还不会把它作为一个答案来接受它,因为我想要一个最新版本的答案。我有
dbms.connectors.default\u listen\u address
行注释,但是
dbms.connector.bolt.listen\u address=0.0.0:7687
dbms.connector.http.listen\u address=0.0.0.0:7474
这不是做同样的事情吗?是的,同样。日志文件中有什么?日志文件中没有关于尝试连接的任何信息