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

同一根目录下多Python模块导入报错问题求助

问题原因与解决方案

问题根源

你导入的module1.submodule1是包对象,而非其中的pyfile1模块。Python的包不会自动加载目录下的所有模块,因此直接通过包对象访问内部模块会触发"没有该属性"的错误。

两种可行解决方案

方案1:直接导入目标模块

修改main.py的导入语句,直接指向pyfile1模块:

# 方式一:直接导入模块
from module1.submodule1 import pyfile1

if __name__ == '__main__':
    pyfile1.test1()

# 或者方式二:别名导入
import module1.submodule1.pyfile1 as pf

if __name__ == '__main__':
    pf.test1()

方案2:通过包的__init__.py显式导出模块

在module1/submodule1/目录下创建__init__.py文件,添加以下内容:

# 从当前包导入pyfile1模块,使其成为submodule1包的属性
from . import pyfile1

这样当你导入module1.submodule1时,pyfile1会被自动加载,原有的代码就能正常运行。

注意事项

确保你是在RootFolder目录下执行命令python -m module1.main,此时Python会自动将RootFolder加入模块搜索路径,才能正确识别module1作为顶层包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:25:25