Py2neo.database.work.ClientError: [Security.Unauthorized] Клиент неавторизован из-за сбоя аутентификации

Я следую руководству по 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")

Но я получаю ту же ошибку. Что не так?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
808
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы пытаетесь пройти аутентификацию, используя свое имя СУБД вместо имени пользователя, которое по умолчанию — neo4j.

На самом деле браузер Neo4j говорит вам, что:

Вы подключены как пользователь neo4j

к болту://localhost:7687

Итак, правильная команда для подключения к вашему графику:

graph = Graph("bolt://localhost:7687", user = "neo4j", password = "Neo4j")

Другие вопросы по теме