Python导入src模块报错“No module named src”问题排查求助
问题判断与解决方案
这个问题不属于虚拟环境本身的问题,而是Python模块导入的运行时路径配置问题——虚拟环境仅提供独立的Python依赖环境,和模块搜索路径无关,当前核心是Python找不到src模块所在的目录。
以下是具体解决方法:
1. 确保src被识别为合法模块
检查src目录下是否存在__init__.py文件(可以是空文件),Python需要这个文件将目录识别为可导入的模块包。如果没有,直接在src里新建一个空的__init__.py。
2. 将项目根目录加入Python搜索路径
在data_ingestion.py的最开头添加以下代码,强制把项目根目录(即data_ingestion.py所在的目录)加入Python的模块搜索路径:
import sys from pathlib import Path # 获取当前脚本所在目录(项目根目录)并加入路径 sys.path.append(str(Path(__file__).parent))
之后即可正常使用import src或from src import xxx导入模块。
3. 通过环境变量配置模块路径
在终端进入项目根目录,执行对应系统的命令设置PYTHONPATH环境变量,让Python默认搜索项目根目录:
- Linux/macOS终端:
export PYTHONPATH=$(pwd) - Windows CMD:
set PYTHONPATH=%cd% - Windows PowerShell:
$env:PYTHONPATH = $(Get-Location)
设置完成后再运行data_ingestion.py即可。
4. 修复VS Code语法检查标红问题
如果VS Code仍然提示找不到模块,打开项目的settings.json(可通过Ctrl+Shift+P搜索"Preferences: Open Workspace Settings (JSON)"打开),添加以下配置:
"python.analysis.extraPaths": [ "${workspaceFolder}" ]
这样VS Code的静态分析工具就能识别到src模块。
内容的提问来源于stack exchange,提问作者Faisal Majeed
相关产品推荐
相关产品推荐

