Py2neo连接Neo4j报错:AuthError: http://localhost:7474/db/data/

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Py2neo连接Neo4j报错:AuthError: http://localhost:7474/db/data/相关的知识,希望对你有一定的参考价值。

AuthError: http://localhost:7474/db/data/

问题描述


AuthError: http://localhost:7474/db/data/:如果是这个问题,考虑您的密码忘记,重置下密码,看看能否解决!


昨天,我尝试摸索着安装Neo4j,成功之后,想使用Python连接图数据库进行增删改查,但是连接部分就直接卡死了,痛心一晚上,还好睡前扫黑风暴更新了,把它暂时遗忘。

【2021/8/28-最新教程】Windows 安装配置Neo4j图数据库

pip install py2neo

直接安装就行,不需要考虑版本问题,当然如果报错,最好降低版本更稳定:

pip install py2neo==4.11

测试代码:

import py2neo

# 连接数据库
graph = py2neo.Graph('http://localhost:7474/browser/', auth=('zs', 'zs'))

# 查询语句
query = 'match (m: Movie) return m'
# 执行,转化为data_frame()对象,获取前5行
graph.run(query).to_data_frame().head()

出现报错:

---------------------------------------------------------------------------
AuthError                                 Traceback (most recent call last)
~\\AppData\\Local\\Temp/ipykernel_16144/1798571468.py in <module>
      2         match (m: Movie) return m
      3 '''
----> 4 graph.run(query).to_data_frame().head()

D:\\Anaconda3\\envs\\KG\\lib\\site-packages\\py2neo\\database.py in run(self, cypher, parameters, **kwparameters)
    496         :return:
    497         """
--> 498         return self.begin(autocommit=True).run(cypher, parameters, **kwparameters)
    499 
    500     def separate(self, subgraph):

D:\\Anaconda3\\envs\\KG\\lib\\site-packages\\py2neo\\database.py in run(self, cypher, parameters, **kwparameters)
    856         finally:
    857             if not self.transaction:
--> 858                 self.finish()
    859 
    860     def process(self):

D:\\Anaconda3\\envs\\KG\\lib\\site-packages\\py2neo\\database.py in finish(self)
    865 
    866     def finish(self):
--> 867         self.process()
    868         if self.transaction:
    869             self.transaction.close()

D:\\Anaconda3\\envs\\KG\\lib\\site-packages\\py2neo\\database.py in process(self)
    862         """
    863         self._assert_unfinished()
--> 864         self.session.sync()
    865 
    866     def finish(self):

D:\\Anaconda3\\envs\\KG\\lib\\site-packages\\py2neo\\internal\\http.py in sync(self)
    311         count = 0
    312         try:
--> 313             response = self.post(ref, {"statements": self._statements}, expected=(OK, CREATED))
    314             if response.status == 201:
    315                 location_path = urlsplit(response.headers["Location"]).path

D:\\Anaconda3\\envs\\KG\\lib\\site-packages\\py2neo\\internal\\http.py in post(self, ref, json, expected)
    157         rs = self.request("POST", self.path + ref, headers=self.headers, body=json)
    158         if rs.status not in expected:
--> 159             self.raise_error(rs.status, rs.data)
    160         return rs
    161 

D:\\Anaconda3\\envs\\KG\\lib\\site-packages\\py2neo\\internal\\http.py in raise_error(self, status_code, data)
    174     def raise_error(self, status_code, data):
    175         if status_code == UNAUTHORIZED:
--> 176             raise AuthError(self.uri)
    177         if status_code == FORBIDDEN:
    178             raise Forbidden(self.uri)

AuthError: http://localhost:7474/db/data/

AuthError: http://localhost:7474/db/data/:在百度Stack Overflow都搜不到这个问题o(╥﹏╥)o

小白真的不知道怎么解决!

解决方案

今天上午,我感觉是pythonneo4j版本的问题,在官网上看了,感觉也没啥问题,咨询朋友后,他的python是3.7和neo4j是3.5,我就想着重新下载试试。

卸载重装!

之后成功了,我又把用户名密码改为: zs,无意中发现下面的信息。

Usernameneo4j

点解 Disconnect


重新登录,发现 zs zs,登录失败!


Neo.ClientError.Security.Unauthorized: The client is unauthorized due to authentication failure.
由于身份验证失败,客户端未经授权。

大概就是账号密码错误,验证失败!

想了想,试了试…

之后尝试 neo4j zs:发现成功登录!

欧耶\\(^o^)/




数据读出来了!

还是不要随便改密码吧!

踩坑原因可能是没人指导,也可能是我没有读懂官方文档,也可能是入门没学好或者是没有完整的教程!

这可能就是自学的难处吧!

2021/8/29/12:45更新:我太傻了,原来改密码时输入两边密码是二次确认密码,用户名默认就是neo4jusername是不需要改的,o(╥﹏╥)o

小白马上开启Neo4j之旅!

加油!

感谢!

努力!

以上是关于Py2neo连接Neo4j报错:AuthError: http://localhost:7474/db/data/的主要内容,如果未能解决你的问题,请参考以下文章

Py2neo成功连接Neo4j初探:Movie Graph

neo4j & py2neo使用过程中踩过的坑

知识图谱Py2neo操作Neo4j使用教程

连接在py2neo中止

知识图谱Python.py2neo操作Neo4j

知识图谱py2neo基本操作(2021-11-11)