You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用neo4j-python-driver 5.3.0无法连接Neo4j求助

解决neo4j-python-driver 5.3.0连接Neo4j的SSL证书验证问题

问题诊断

你遇到的SSLCertVerificationError本质是neo4j-python-driver自身的SSL验证逻辑独立于urllib3,所以禁用urllib3警告完全无效。另外你的连接代码里存在明显语法错误:认证参数的用户名前多了个逗号,这也会导致连接失败。

解决方案

1. 修正认证参数的语法错误

你的代码中auth=(',username', '<password')里的用户名前多了冗余逗号,先修正这个基础错误:

driver = GraphDatabase.driver('bolt+s://<URI>:7687', auth=('username', 'password'))

2. 让驱动信任所有SSL证书(开发环境适用)

针对SSL证书验证失败问题,直接在驱动初始化时添加trust_all_certificates=True参数,跳过证书验证:

from neo4j import GraphDatabase

# 初始化连接,信任所有证书
driver = GraphDatabase.driver(
    'bolt+s://<URI>:7687',
    auth=('username', 'password'),
    trust_all_certificates=True
)

query = 'match (n:Event{name:"test"}) return n'

with driver.session() as session:
    info = session.run(query)
    for item in info:
        print(item)

注意:该方法仅适合开发/测试环境,生产环境建议配置合法SSL证书并启用正常验证。

3. 检查Neo4j数据库的连接配置

如果上述方法仍无效,确认Neo4j的核心配置:

  • 打开Neo4j Desktop,找到对应数据库,点击「Manage」→「Settings」
  • 确保dbms.connector.bolt.enabled设置为true
  • 确保dbms.connector.bolt.listen_address设置为:7687(默认端口)
  • 如果是远程连接,确保dbms.default_listen_address设置为0.0.0.0(允许所有IP访问)

4. 切换为非加密连接(仅本地测试)

如果你的Neo4j是本地运行且未配置SSL,可直接使用bolt://协议代替bolt+s://,无需处理证书:

driver = GraphDatabase.driver('bolt://<URI>:7687', auth=('username', 'password'))

内容的提问来源于stack exchange,提问作者Tono Kuriakose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 02:15:41