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

Python从嵌套子模块导入类报错:ModuleNotFoundError与ImportError

解决Python模块导入错误的方案

原因分析

  • 使用from B.C.property import Property报错:Python的模块搜索路径(sys.path)未包含B所在的根目录,导致无法识别B模块。
  • 使用from ..B.C.property import Property报错:直接运行main.py时,它被当作顶级脚本文件,不属于任何Python包结构,因此相对导入的..无法识别父包。

解决方案

方案1:手动添加项目根目录到Python路径

在main.py开头加入以下代码,将B所在的根目录加入模块搜索路径:

import sys
import os
# 获取当前文件所在目录的父目录(即项目根目录)
root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(root_dir)

# 现在可正常导入
from B.C.property import Property

方案2:以包形式运行脚本(推荐)

  1. 在项目根目录、A、B、C目录下分别创建空的__init__.py文件(Python 3.3+可省略,但添加后兼容性更强),标识这些目录为Python包。
  2. 从项目根目录执行以下命令,以模块方式运行main.py:
python -m A.main
  1. 此时main.py属于包结构的一部分,可正常使用相对导入:
from ..B.C.property import Property

方案3:确保根目录在Python环境路径中

如果项目根目录已被添加到系统的PYTHONPATH环境变量中,直接使用绝对导入即可:

from B.C.property import Property

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:52:05