Neo4j配置连接过程中模块缺失、协议版本不兼容问题求助
问题排查思路及解决方案
一、"No module named Neo4j" 报错解决
该报错由Python运行环境缺失neo4j驱动包、或导包拼写错误导致,按以下步骤处理:
- 先确认当前执行Python代码的环境,避免多环境冲突,执行
pip list查看已安装包列表中是否存在neo4j,若不存在执行对应安装命令:
普通Python环境执行pip install neo4j
Conda环境执行conda install neo4j-python-driver - 修正导包拼写:Python导包首字母为小写,正确写法为
from neo4j import GraphDatabase,拼写为Neo4j会直接触发该报错。
二、cypher-shell协议版本不兼容报错解决
该报错核心是本地安装的cypher-shell版本与Neo4j数据库服务的大版本不匹配,按以下步骤处理:
- 第一步分别查询两个组件的版本号:
查询Neo4j服务版本:服务启动后访问本地管理页http://localhost:7474 顶部可直接查看;也可以进入Neo4j安装目录的bin文件夹,执行neo4j --version查看
查询cypher-shell版本:直接执行cypher-shell --version - 版本匹配规则:Neo4j 5.x版本必须搭配5.x版本的cypher-shell,Neo4j 4.x版本必须搭配4.x版本的cypher-shell,大版本一致即可正常兼容,小版本差异无影响。
- 适配方案:
优先使用Neo4j安装包自带的cypher-shell,无需单独全局安装,直接调用Neo4j安装目录bin文件夹下的cypher-shell即可自动匹配版本。
若要使用全局安装的cypher-shell,卸载现有版本后安装和Neo4j服务大版本一致的版本即可。 - 验证:版本统一后,启动Neo4j服务,执行
cypher-shell -u neo4j -p 你的数据库密码,可正常进入交互界面即修复完成。
三、Python连接Neo4j配置校验
完成上述修复后,可通过以下代码测试连接是否正常:
from neo4j import GraphDatabase # 配置参数,bolt协议默认端口为7687 uri = "bolt://localhost:7687" username = "neo4j" password = "你自行设置的数据库密码" driver = GraphDatabase.driver(uri, auth=(username, password)) # 测试连通性 try: driver.verify_connectivity() print("连接成功") finally: driver.close()
内容的提问来源于stack exchange,提问作者Ahlem rhayem
相关产品推荐
相关产品推荐

