py2neo.database.work.ClientError:[安全性.未经授权]由于身份验证失败,客户端未经授权

2024-06-02 07:18:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在遵循一个关于py2neo的教程,我正在移动第一步

我想连接到使用命令graph = Graph()创建的图形

以下是我从一开始所做的:

我打开Neo4j桌面(1.3.11版),创建一个新项目,然后创建一个新数据库:

添加数据库>创建本地数据库

DBMS Name: Neo4j
Password: Neo4j

然后我启动它,然后单击open,这样Neo4j浏览器就会打开并连接到数据库

enter image description here

enter image description here

既然我看到了我已连接的信息,我就可以继续了

我用水蟒作为提示

我键入python以激活python shell,输出为:

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.
>>>

I类型:

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")

但我也犯了同样的错误。怎么了


Tags: inpyselfclientinitonlibpackages
1条回答
网友
1楼 · 发布于 2024-06-02 07:18:35

您正在尝试使用DBMS名称而不是用户名进行身份验证,默认情况下,用户名为neo4j

实际上,Neo4j浏览器告诉您:

You are connected as user neo4j

to bolt://localhost:7687

因此,连接到图形的正确命令是

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

相关问题 更多 >