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

Neo4j Aura Python代码报错:'Session'对象无execute_write/execute_read属性

解决Neo4j Aura Python连接中'Session'无'execute_write'/'execute_read'属性的AttributeError

这个错误的核心原因是你使用的Neo4j Python驱动版本过低:execute_write和execute_read是Neo4j Python驱动4.0及以上版本才引入的会话方法,而旧版(1.x系列)的Session对象并没有这两个方法,因此触发AttributeError。

下面提供两种可行的解决方式:

方式一:升级Neo4j Python驱动到最新稳定版

执行以下命令完成升级:

pip install neo4j --upgrade

升级后,你原代码中的execute_write/execute_read调用可以正常工作——这两个方法会自动处理事务的提交与回滚,示例代码如下:

# 写操作示例
def create_person(tx, name):
    return tx.run("CREATE (p:Person {name: $name}) RETURN p", name=name).single()

with driver.session() as session:
    result = session.execute_write(create_person, "Bob")

# 读操作示例
def get_person_names(tx):
    return [record["p.name"] for record in tx.run("MATCH (p:Person) RETURN p.name")]

with driver.session() as session:
    names = session.execute_read(get_person_names)

方式二:不升级驱动,改用旧版run方法

如果因为项目兼容性限制无法升级驱动,可以直接用旧版驱动支持的session.run()方法替代,手动管理事务(若需要事务保障):

# 写操作(带事务)
with driver.session() as session:
    tx = session.begin_transaction()
    try:
        result = tx.run("CREATE (p:Person {name: $name}) RETURN p", name="Bob")
        tx.commit()
    except Exception:
        tx.rollback()
        raise

# 读操作
with driver.session() as session:
    result = session.run("MATCH (p:Person) RETURN p.name")
    for record in result:
        print(record["p.name"])

注意:若你之前安装的是旧包名neo4j-driver,建议切换为官方现在推荐的neo4j包,避免版本混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 18:05:33