Python相对导入遇阻:找不到src模块的解决方案咨询
Python模块导入问题解决方案
可行解决方法
1. 动态添加项目根目录到Python路径
在gpt_int.py开头加入以下代码,手动将项目根目录(project/)添加到Python的模块搜索路径中:
import sys from pathlib import Path # 定位到项目根目录(project/) project_root = Path(__file__).parent.parent.parent sys.path.append(str(project_root)) # 现在可以正常导入目标模块 from src.dir1.data_processing.import_data import load_data
2. 使用正确的相对路径导入
因为gpt_int.py位于dir1/model_dev/下,而data_processing在同一级的dir1/目录下,正确的相对路径写法是:
from ..data_processing.import_data import load_data
注意:这种方式必须以模块形式运行脚本,不能直接执行gpt_int.py。比如从project/目录下运行:
python -m src.dir1.model_dev.gpt_int
3. 设置PYTHONPATH环境变量(推荐长期开发)
通过环境变量让Python自动识别项目根目录,无需每次修改代码:
- Linux/macOS终端(进入
project/目录后):export PYTHONPATH=$(pwd) - Windows CMD(进入
project/目录后):set PYTHONPATH=%cd% - Windows PowerShell(进入
project/目录后):$env:PYTHONPATH = (Get-Location).Path
设置完成后,直接使用你最初的导入语句即可生效:
from src.dir1.data_processing.import_data import load_data
为什么之前的方法失败
- 直接使用
from src...导入失败:因为Python的模块搜索路径中没有包含project/目录,无法识别src作为顶层模块。 - 错误的相对路径:你之前写的
from ..dir1.data_processing...多了一层dir1,gpt_int.py的父目录是model_dev,往上一级就是dir1,所以无需重复写dir1。
内容的提问来源于stack exchange,提问作者Django0602
相关产品推荐
相关产品推荐

