Я следую руководству по py2neo, делаю первые шаги.
Я хочу подключиться к графику, который я создал с помощью команды graph = Graph()
Вот что я сделал с самого начала:
Я открываю Neo4j Desktop (v. 1.3.11), создаю новый проект, а затем создаю новую базу данных:
добавить базу данных > создать локальную базу данных
Имя СУБД: Neo4j
Пароль: Neo4j
Затем я запускаю его, а затем нажимаю открыть, чтобы открылся браузер Neo4j и подключился к базе данных.
Поскольку я вижу сообщение о том, что я подключен, я могу продолжать.
Я использую Anaconda в качестве подсказки.
Я набираю python
, чтобы активировать оболочку Python, и вывод:
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Я печатаю:
from py2neo import Graph
а потом
graph = Graph()
Но затем возвращается подсказка:
Traceback (most recent call last):
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\__init__.py", line 450, in acquire
cx = self._free_list.popleft()
IndexError: pop from an empty deque
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\database\__init__.py", line 358, in __init__
self.service = GraphService(profile, **settings)
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\database\__init__.py", line 189, in __init__
self._connector = Connector(profile, **connector_settings)
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\__init__.py", line 603, in __init__
self.add_pools(self._profile)
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\__init__.py", line 631, in add_pools
on_broken=self._on_broken)
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\__init__.py", line 316, in open
seeds = [pool.acquire() for _ in range(init_size or cls.default_init_size)]
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\__init__.py", line 316, in <listcomp>
seeds = [pool.acquire() for _ in range(init_size or cls.default_init_size)]
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\__init__.py", line 460, in acquire
on_broken=lambda msg: self.__on_broken(msg))
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\__init__.py", line 118, in open
on_release=on_release, on_broken=on_broken)
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\bolt.py", line 213, in open
bolt._hello()
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\bolt.py", line 653, in _hello
self._audit(response)
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\bolt.py", line 626, in _audit
task.audit()
File "C:\Applicazioni_Tommaso\Phyton\lib\site-packages\py2neo\client\bolt.py", line 1062, in audit
raise self._failure
py2neo.database.work.ClientError: [Security.Unauthorized] The client is unauthorized due to authentication failure.
Я вижу, что проблема связана с соображениями безопасности, поэтому я попытался с
graph = Graph("bolt://localhost:7687", user = "Neo4j", password = "Neo4j")
Но я получаю ту же ошибку. Что не так?
Вы пытаетесь пройти аутентификацию, используя свое имя СУБД вместо имени пользователя, которое по умолчанию — neo4j
.
На самом деле браузер Neo4j говорит вам, что:
Вы подключены как пользователь neo4j
к болту://localhost:7687
Итак, правильная команда для подключения к вашему графику:
graph = Graph("bolt://localhost:7687", user = "neo4j", password = "Neo4j")