导入模块报错:No module named 'utils.data_prep.features_eng'求解决方案
解决思路
针对No module named 'utils.data_prep.features_eng'的导入错误,按以下步骤排查:
检查模块包结构
确保utils和data_prep两个目录下都存在__init__.py文件(空文件即可),Python需要这个文件识别目录为可导入的模块包。同时确认data_prep目录下的目标文件确实是features_eng.py(注意大小写,Linux/macOS环境严格区分)。修正prep.py中的导入语句
- 若prep.py位于
data_prep目录内,使用相对导入:from .features_eng import 你要导入的类名 - 若prep.py在项目根目录,确保项目根目录在Python的搜索路径中,可临时添加路径到prep.py开头:
之后用绝对导入:import sys from pathlib import Path sys.path.append(str(Path(__file__).parent))from utils.data_prep.features_eng import 你要导入的类名
- 若prep.py位于
确认运行脚本的工作目录
不要直接在data_prep目录下运行prep.py,切换到项目根目录后执行命令(比如python utils/data_prep/prep.py),避免工作目录导致的路径识别错误。排查虚拟环境(如果使用)
确保当前激活的虚拟环境与项目依赖所在环境一致,避免环境隔离引发的路径问题。
内容的提问来源于stack exchange,提问作者Ammar bam
相关产品推荐
相关产品推荐

