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

Python子目录脚本导入上级模块报错及解决方案咨询

Python模块目录内脚本导入上级包时出现ModuleNotFoundError解决

问题命名

适合搜索的问题标题:Python脚本位于模块目录中导入上级包时触发ModuleNotFoundError

适配当前目录结构的导入方法

针对你的目录结构,提供三种可行方案:

方案1:动态添加项目根目录到sys.path

在test.py开头添加以下代码,手动将项目根目录(MyProject)加入Python的模块搜索路径:

import sys
import os
# 获取当前脚本的绝对路径,向上回溯两级得到MyProject目录
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

import Utils.util

if __name__ == '__main__':
    # Do something

修改后直接运行test.py即可正常导入模块。

方案2:使用相对导入+模块方式运行

利用Python的相对导入特性,修改test.py的导入语句:

from . import util

if __name__ == '__main__':
    # Do something

运行时切换到MyProject目录,执行以下命令:

python -m Utils.test

这种方式符合Python模块化规范,无需手动修改路径。

方案3:设置PYTHONPATH环境变量

将项目根目录添加到PYTHONPATH环境变量中:

  • Linux/macOS终端:
    export PYTHONPATH=/绝对路径/MyProject
    
  • Windows命令提示符:
    set PYTHONPATH=C:\绝对路径\MyProject
    

设置完成后,无论在哪个目录运行test.py,Python都能找到Utils包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 19:16:02