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

WSL环境下使用py2neo连接Windows本地Neo4j实例失败的问题求助

WSL环境下使用py2neo连接Windows本地Neo4j实例失败的问题求助

我来帮你排查这个连接问题,核心原因其实是WSL的网络和Windows主机不属于同一个网络命名空间,直接用localhost会指向WSL自身的虚拟机环境,而非Windows上运行的Neo4j服务。下面是一步步的解决思路:

第一步:获取Windows主机的实际IP地址

在Windows系统打开命令提示符(CMD),执行ipconfig命令,找到「以太网适配器 WSL」或「本地连接」对应的IPv4地址(通常是192.168.x.x这类格式),把这个IP记录下来。

第二步:确认Neo4j配置正确生效

打开你的Neo4j配置文件(neo4j.conf),确保以下配置项已取消注释并正确设置:

# 启用Bolt连接器
dbms.connector.bolt.enabled=true
# 让Bolt监听所有网卡地址,允许外部设备访问
dbms.connector.bolt.address=0.0.0.0:7687
# 设置服务监听所有地址
server.default_listen_address=0.0.0.0
# 若你的Neo4j是4.x及以上版本,建议添加这个配置(也可直接设为Windows主机IP)
dbms.default_advertised_address=0.0.0.0

修改完成后,务必重启Neo4j服务,让新配置生效。

第三步:检查Windows防火墙限制

Windows防火墙可能会拦截WSL对Neo4j 7687端口的访问,你可以:

  • 临时关闭防火墙测试连接(测试完成后记得重新开启);
  • 或者在防火墙中添加一条入站规则,允许7687端口的TCP连接请求。

第四步:修改py2neo的连接代码

把代码里的localhost替换成你刚才获取的Windows主机IP,示例如下:

from py2neo import Graph
# 替换为你的Windows实际IPv4地址
graph = Graph('bolt://192.168.1.100:7687', user="neo4j", password="12345678")

额外排查点

  • 先在WSL终端执行ping 你的WindowsIP测试网络连通性,如果ping不通,说明WSL和Windows的网络链路存在问题,需要检查WSL的网络配置;
  • 查看Neo4j的日志文件,确认服务是否正常启动并成功监听7687端口;
  • 在Windows上执行netstat -ano | findstr 7687,检查7687端口是否被其他程序占用。

备注:内容来源于stack exchange,提问作者Tran Minh Quan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 09:13:00