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

从同一子目录导入模块时为何报错?正确导入方式是什么?

报错原因与正确导入方式

报错原因

  • 直接import bb找不到模块:
    当你运行main.py时,Python的模块搜索路径会把main.py所在的目录作为根目录。此时aa.py里的import bb会让Python在main.py的目录下查找bb.py,而不是module_a目录里的bb.py,自然找不到。

  • import .bb写法错误:
    Python的相对导入语法不支持import .bb这种格式,必须使用from . import 模块名的形式,直接写import .bb会触发语法错误,根本无法正常执行。

正确的导入方式

方式一:相对导入(推荐,保持包内模块的关联性)

在aa.py里使用相对导入,语法如下:

from . import bb
bb.xxx()

如果只需要调用bb.py里的特定函数,也可以直接导入函数:

from .bb import xxx
xxx()

方式二:绝对导入(基于包名的全路径导入)

因为main.py所在目录在Python的搜索路径中,所以可以直接通过包名module_a来导入bb:

from module_a import bb
bb.xxx()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:20:41