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

Python导入utils模块报错ModuleNotFoundError,同级目录下如何解决

解决ModuleNotFoundError: No module named 'utils'的方法

首先确认utils文件夹下存在__init__.py文件(可以是空文件),Python需要这个文件识别它为可导入的包。以下是几种可行的解决方式:

方法一:动态添加项目根目录到Python搜索路径

在training文件夹下的脚本开头添加以下代码,把项目根目录(utils和training的共同上级目录)加入Python的模块搜索路径:

import sys
import os

# 获取当前脚本所在的training文件夹绝对路径
current_script_dir = os.path.dirname(os.path.abspath(__file__))
# 获取上级目录(项目根目录)
project_root = os.path.dirname(current_script_dir)
# 将项目根目录添加到sys.path
sys.path.append(project_root)

# 现在可以正常导入
from utils import edit_distance

方法二:使用相对导入(需注意运行方式)

把导入语句改成相对导入形式:

from ..utils import edit_distance

注意:不能直接进入training文件夹运行脚本(比如python your_script.py),必须从项目根目录以模块方式启动:

python -m training.your_script_name

(替换your_script_name为实际脚本文件名,无需加.py后缀)

方法三:设置PYTHONPATH环境变量

把项目根目录添加到PYTHONPATH环境变量,让Python全局识别该路径下的包:

  • Linux/macOS终端:
export PYTHONPATH=/绝对路径/到你的项目根目录:$PYTHONPATH
  • Windows命令提示符:
set PYTHONPATH=C:\绝对路径\到你的项目根目录;%PYTHONPATH%

设置完成后直接运行脚本即可正常导入utils模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 18:02:10