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

Python导入areas模块调用triangle函数报AttributeError问题求助

问题分析与解决办法

核心原因

你导入的areas根本不是讲师展示的自定义模块,而是Python第三方库目录(site-packages)里的同名第三方包。从areas.__file__的路径能看出来,这个包和你要的areas.py完全是两回事,自然没有triangle这类函数。

解决步骤

  • 优先方案:重命名自定义模块
    把你自己写的areas.py改成其他名字,比如my_areas.py,之后用import my_areas导入,再调用my_areas.triangle(3,5),彻底避免同名冲突。

  • 检查Python模块搜索路径
    执行以下代码,查看Python查找模块的顺序:

    import sys
    print(sys.path)
    

    你自己的areas.py必须在这个列表的某个目录里,而且要确保它的位置在/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages前面,否则Python会优先导入第三方包。如果不在里面,可以手动添加:

    import sys
    sys.path.insert(0, "/你存放自定义areas.py的目录路径")
    

    再重新导入areas即可。

  • 关于Python版本差异
    你用python和python3调用的是不同版本的Python,它们各自的site-packages目录是独立的。可能其中一个版本没有安装这个第三方areas包,所以导入的是你的自定义模块,但这只是暂时的,最好还是用重命名的方法彻底解决。

补充解释

Python导入模块时,只要能找到同名的包/模块就不会报错,不管它里面有没有你需要的函数。你遇到的情况就是找到了同名第三方包,所以导入成功,但调用不存在的函数才触发AttributeError。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:30:53