Py2neo и Neo4j для Windows не могут подключиться - PullRequest
0 голосов
/ 07 мая 2019

Я всегда получаю эту ошибку:

  File "test.py", line 13, in <module>
    graph.create(alice_knows_bob)
  File "C:\Python27\lib\site-packages\py2neo\database.py", line 355, in create
    with self.begin() as tx:
  File "C:\Python27\lib\site-packages\py2neo\database.py", line 346, in begin
    return Transaction(self, autocommit)
  File "C:\Python27\lib\site-packages\py2neo\database.py", line 758, in __init__
    self.transaction = self.connector.begin()
  File "C:\Python27\lib\site-packages\py2neo\internal\connectors.py", line 290, in begin
    tx = self.pool.acquire()
  File "C:\Python27\lib\site-packages\neobolt\direct.py", line 704, in acquire
    return self.acquire_direct(self.address)
  File "C:\Python27\lib\site-packages\neobolt\direct.py", line 597, in acquire_direct
    connection = self.connector(address, error_handler=self.connection_error_handler)
  File "C:\Python27\lib\site-packages\py2neo\internal\connectors.py", line 225, in connector
    return connect(address_, auth=cx_data["auth"], **kwargs)
  File "C:\Python27\lib\site-packages\neobolt\direct.py", line 960, in connect
    raise last_error
neobolt.exceptions.AuthError: The client is unauthorized due to authentication failure.

Я пытаюсь подключиться так:

from py2neo import Graph
graph = Graph()

remote_graph = Graph("bolt://neo4j:neo4j@localhost:7687/db/data/")

Я не уверен, где найти мои настоящие имя пользователя и пароль. Или я делаю авторизацию неправильно?

1 Ответ

0 голосов
/ 09 мая 2019

Я нашел ответ!

Сначала обязательно откройте http://localhost:7474/browser/ и введите имя пользователя neo4j и пароль, который вы задали при создании графика.Если вы можете войти в систему, то у вас есть правильное имя пользователя и пароль.

Далее убедитесь, что вы установили py2neo версии 2.0.8.В более новой версии почему-то возникла проблема с аутентификацией.

Затем используйте этот код для аутентификации:

from py2neo import Graph, authenticate
graph = Graph()
# Authenticate the user using py2neo.authentication

authenticate("localhost:7474", "neo4j", "<pass>")

# # Connect to Graph and get the instance of Graph

remote_graph = Graph("http://localhost:7474/db/data/")
...