py2neo v4 无法连接到 Graphenedb
py2neo v4 cannot connect to Graphenedb
我可以连接到版本 3 的 graphenedb(因为我无法连接到 v4),但是在我使用 git 安装重新安装 v4 后,我现在无法登录.我遵循文档中推荐的登录方法,下面是我的代码。
我正在使用 ubuntu 16.04 和 python 版本 3.5.2。
我在代码里有账号和密码,由于是测试数据库,大家可以拿来测试。谢谢!
from py2neo import Graph
uri='bolt://hobby-decofbokkgfdgbkemhfoical.dbs.graphenedb.com:24786'
user='Sen'
pwd='b.QS1afdAYIUnb.FWIkIyENscjeVzMJ'
graph = Graph(uri, auth=(user, pwd), port=24786)
回应是这样的,
S: [CLOSE]
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/py2neo/database.py", line 89, in __new__
inst = cls._instances[key]
KeyError: '8e260f1265ad91eb60c4ceb775be7ba2'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "graphObjects.py", line 7, in <module>
graph = Graph(uri, auth=(user, pwd), port=24786)
File "/usr/local/lib/python3.5/dist-packages/py2neo/database.py", line 307, in __new__
database = Database(uri, **settings)
File "/usr/local/lib/python3.5/dist-packages/py2neo/database.py", line 98, in __new__
user_agent=connection_data["user_agent"])
File "/usr/local/lib/python3.5/dist-packages/neo4j/v1/api.py", line 125, in driver
return driver_class(uri, **config)
File "/usr/local/lib/python3.5/dist-packages/neo4j/v1/direct.py", line 69, in __init__
pool.release(pool.acquire())
File "/usr/local/lib/python3.5/dist-packages/neo4j/v1/direct.py", line 44, in acquire
return self.acquire_direct(self.address)
File "/usr/local/lib/python3.5/dist-packages/neo4j/bolt/connection.py", line 453, in acquire_direct
connection = self.connector(address, self.connection_error_handler)
File "/usr/local/lib/python3.5/dist-packages/neo4j/v1/direct.py", line 66, in connector
return connect(address, security_plan.ssl_context, error_handler, **config)
File "/usr/local/lib/python3.5/dist-packages/neo4j/bolt/connection.py", line 707, in connect
raise last_error
File "/usr/local/lib/python3.5/dist-packages/neo4j/bolt/connection.py", line 699, in connect
connection = _handshake(s, resolved_address, der_encoded_server_certificate, error_handler, **config)
File "/usr/local/lib/python3.5/dist-packages/neo4j/bolt/connection.py", line 655, in _handshake
raise ProtocolError("Connection to %r closed without handshake response" % (resolved_address,))
neo4j.exceptions.ProtocolError: Connection to ('54.86.53.94', 24786) closed without handshake response
谢谢!
您的 Neo4J 实例正在使用 TLS 进行螺栓连接,但您的 py2neo 不是。
该回溯是尝试使用正常的未加密连接连接到 TLS 服务器的特征。
为了解决这个问题,通过将 secure=True
传入 Graph
实例的初始化来告诉 py2neo 您的螺栓连接应该使用 TLS:
graph = Graph(uri, auth=(user, pwd), port=24786, secure=True)
我可以连接到版本 3 的 graphenedb(因为我无法连接到 v4),但是在我使用 git 安装重新安装 v4 后,我现在无法登录.我遵循文档中推荐的登录方法,下面是我的代码。
我正在使用 ubuntu 16.04 和 python 版本 3.5.2。
我在代码里有账号和密码,由于是测试数据库,大家可以拿来测试。谢谢!
from py2neo import Graph
uri='bolt://hobby-decofbokkgfdgbkemhfoical.dbs.graphenedb.com:24786'
user='Sen'
pwd='b.QS1afdAYIUnb.FWIkIyENscjeVzMJ'
graph = Graph(uri, auth=(user, pwd), port=24786)
回应是这样的,
S: [CLOSE]
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/py2neo/database.py", line 89, in __new__
inst = cls._instances[key]
KeyError: '8e260f1265ad91eb60c4ceb775be7ba2'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "graphObjects.py", line 7, in <module>
graph = Graph(uri, auth=(user, pwd), port=24786)
File "/usr/local/lib/python3.5/dist-packages/py2neo/database.py", line 307, in __new__
database = Database(uri, **settings)
File "/usr/local/lib/python3.5/dist-packages/py2neo/database.py", line 98, in __new__
user_agent=connection_data["user_agent"])
File "/usr/local/lib/python3.5/dist-packages/neo4j/v1/api.py", line 125, in driver
return driver_class(uri, **config)
File "/usr/local/lib/python3.5/dist-packages/neo4j/v1/direct.py", line 69, in __init__
pool.release(pool.acquire())
File "/usr/local/lib/python3.5/dist-packages/neo4j/v1/direct.py", line 44, in acquire
return self.acquire_direct(self.address)
File "/usr/local/lib/python3.5/dist-packages/neo4j/bolt/connection.py", line 453, in acquire_direct
connection = self.connector(address, self.connection_error_handler)
File "/usr/local/lib/python3.5/dist-packages/neo4j/v1/direct.py", line 66, in connector
return connect(address, security_plan.ssl_context, error_handler, **config)
File "/usr/local/lib/python3.5/dist-packages/neo4j/bolt/connection.py", line 707, in connect
raise last_error
File "/usr/local/lib/python3.5/dist-packages/neo4j/bolt/connection.py", line 699, in connect
connection = _handshake(s, resolved_address, der_encoded_server_certificate, error_handler, **config)
File "/usr/local/lib/python3.5/dist-packages/neo4j/bolt/connection.py", line 655, in _handshake
raise ProtocolError("Connection to %r closed without handshake response" % (resolved_address,))
neo4j.exceptions.ProtocolError: Connection to ('54.86.53.94', 24786) closed without handshake response
谢谢!
您的 Neo4J 实例正在使用 TLS 进行螺栓连接,但您的 py2neo 不是。
该回溯是尝试使用正常的未加密连接连接到 TLS 服务器的特征。
为了解决这个问题,通过将 secure=True
传入 Graph
实例的初始化来告诉 py2neo 您的螺栓连接应该使用 TLS:
graph = Graph(uri, auth=(user, pwd), port=24786, secure=True)