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

导入自定义Sum模块调用sum方法出现AttributeError,如何排查代码问题?

Python AttributeError报错问题解答

报错具体含义

你遇到的报错:

AttributeError: module 'Sum' has no attribute 'sum'

含义是Python解释器成功加载了名为Sum的模块,但在该模块的可调用属性、方法列表中,没有找到你要调用的sum函数,因此抛出属性不存在的异常。

代码存在的问题排查

你写的Sum.py和main.py的核心逻辑本身没有语法错误,出现该报错基本是模块加载匹配失败导致的,常见原因如下:

  • 文件路径不匹配:Sum.py和main.py没有存放在同一个目录下,或者你运行main.py时的工作目录不是两个文件所在的目录,解释器加载到了其他同名的Sum模块
  • 文件名大小写/后缀错误:
    1. 你的文件实际命名为sum.py(全小写),Windows、macOS系统默认不区分文件名大小写,会导致模块加载不匹配
    2. Windows默认隐藏已知文件后缀,你的Sum.py实际被命名为Sum.py.txt,无法被识别为Python模块
  • 模块缓存冲突:你之前运行过同名的Sum模块,Python自动生成的__pycache__缓存目录中保存了旧的模块编译结果,不会加载你最新修改的Sum.py内容

修复验证方法

你可以在main.py中加入模块路径打印代码,确认加载的模块是否为你编写的版本:

import Sum
# 打印模块对应的实际文件路径
print(Sum.__file__)
Sum.sum(1,2)

如果打印的路径不是你编写的Sum.py的绝对路径,按上述排查点修改即可,也可以直接删除运行目录下的__pycache__文件夹后重新运行,即可正常调用函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:27:03