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

安装Apache AGE Python驱动后调用newResultHandler出现属性错误

Apache AGE Python驱动导入问题:import age找不到newResultHandler但源码路径导入正常

问题场景

在Google Colab环境中学习Apache AGE Python驱动,按官方指南执行以下命令完成安装:

!sudo apt-get update
!sudo apt-get install python3-dev libpq-dev
!git clone https://github.com/apache/age.git
!cd age/drivers/python && pip3 install -r requirements.txt && python3 setup.py install

使用import age调用newResultHandler()时触发错误:

import age
import unittest
from decimal import Decimal

resultHandler = age.newResultHandler()  # 报错位置
    
def evalExp(exp):
    value = resultHandler.parse(exp) 
    print(type(value), "|", exp, " --> " ,value )
    
mapStr = '{"name": "Smith", "num":123, "yn":true, "bigInt":123456789123456789123456789123456789::numeric}' 

evalExp(mapStr)

错误信息:

AttributeError: module 'age' has no attribute 'newResultHandler'

但通过源码路径导入则能正常运行:

import age.drivers.python.age as age
import unittest
from decimal import Decimal

resultHandler = age.newResultHandler()
    
def evalExp(exp):
    value = resultHandler.parse(exp) 
    print(type(value), "|", exp, " --> " ,value )
    
mapStr = '{"name": "Smith", "num":123, "yn":true, "bigInt":123456789123456789123456789123456789::numeric}' 

evalExp(mapStr)

正常输出:

<class 'dict'> | {"name": "Smith", "num":123, "yn":true, "bigInt":123456789123456789123456789123456789::numeric}  -->  {'name': 'Smith', 'num': 123, 'yn': True, 'bigInt': Decimal('123456789123456789123456789123456789')}

问题原因

直接import age导入的是顶层空模块,而newResultHandler实际定义在age.drivers.python.age子模块中。安装过程中未正确配置模块导出逻辑,导致顶层age模块未暴露该方法。

解决办法

方法1:使用验证可行的导入路径(推荐)

保持当前可正常运行的导入方式,直接导入目标子模块:

import age.drivers.python.age as age

方法2:修改顶层模块的__init__.py

若希望通过import age直接调用方法,可修改age模块的顶层__init__.py文件(Colab中路径为/content/age/drivers/python/age/__init__.py),添加以下内容:

from .age import newResultHandler

修改后重新执行python3 setup.py install,即可通过import age调用age.newResultHandler()。

方法3:检查安装配置

查看age/drivers/python/setup.py中的packages参数,确保包含age.drivers.python.age相关模块。若配置不全,修改后重新执行安装命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:15:25