VS Code中NLP模块化项目遇ModuleNotFoundError:找不到TextSummerization模块
问题排查与解决:ModuleNotFoundError: No module named 'TextSummerization'
针对你遇到的模块找不到问题,从以下几个方向逐一排查解决:
1. 手动添加src目录到Python模块搜索路径
你的TextSummerization包在src文件夹下,但Python默认只会把当前运行脚本的目录加入搜索路径,直接运行根目录的main.py时无法识别src下的模块。
临时代码方案:在
main.py最顶部添加以下代码,把src目录加入搜索路径:import sys from pathlib import Path # 将src目录添加到sys.path sys.path.append(str(Path(__file__).parent / "src")) # 之后再执行导入 from TextSummerization.pipeline.data_ingestion_stage1 import DataIngestionTrainingPipeline终端运行方案:
Windows系统:set PYTHONPATH=src && python main.pyLinux/macOS系统:
PYTHONPATH=src python main.py
2. 补全Python包所需的__init__.py文件
Python要求每个包目录下必须有__init__.py文件(可以是空文件),才会将其识别为可导入的模块。你的目录结构缺少这些文件,需要补充:
调整后的目录结构:
src |__TextSummerization |__ __init__.py |__pipeline |__ __init__.py |__data_ingestion_stage1.py main.py setup.py app.py
3. 通过setup.py以开发模式安装本地包
如果项目已经配置了setup.py,可以用开发模式安装包,让Python全局识别你的TextSummerization模块:
在项目根目录执行以下命令:
pip install -e .
安装完成后,不管在哪个路径运行脚本,都能直接导入TextSummerization模块,无需手动处理路径。
4. VS Code编辑器层面的路径配置
为了让VS Code的语法检查和调试功能也能识别模块,在项目根目录创建.vscode/settings.json文件,添加以下配置:
{ "python.analysis.extraPaths": ["./src"] }
保存后重启VS Code,编辑器就不会再报错找不到模块了。
内容的提问来源于stack exchange,提问作者kushal-rana
相关产品推荐
相关产品推荐

