Python新手求助:无法将config.py导入嵌套子目录
解决Python项目中config.py导入问题的简便方法
根据你的目录结构(根目录下有config.py,子目录如service、dao存放底层文件),给你几个简单可行的方案:
方案1:使用相对导入(适合模块方式运行)
在需要导入config的子目录文件中,用相对路径导入:
# 比如在service/user_service.py中 from ..config import 你需要的配置变量
注意:不能直接运行这个子文件(比如
python service/user_service.py),要从项目根目录以模块方式启动:python -m service.user_service
方案2:动态添加根目录到Python路径(最稳妥的调试方案)
在底层文件开头添加代码,自动把项目根目录加入Python搜索路径,之后就能直接导入config:
import sys from pathlib import Path # 获取项目根目录(当前文件的父级的父级) root_path = Path(__file__).parent.parent sys.path.append(str(root_path)) # 现在可以直接导入config from config import DB_HOST, DB_PORT # 替换成你的配置变量
这种方法不需要修改环境变量,不管你从哪个路径运行脚本都能生效。
方案3:设置PYTHONPATH环境变量(长期使用方案)
把项目根目录添加到系统的PYTHONPATH环境变量中,之后所有Python脚本都能直接导入config:
- Windows命令行:
set PYTHONPATH=你的项目根目录绝对路径
- Linux/macOS终端:
export PYTHONPATH=你的项目根目录绝对路径
设置完成后,在任意底层文件里直接写:
from config import 你的配置变量
内容的提问来源于stack exchange,提问作者Sidd Menon
相关产品推荐
相关产品推荐

