如何从Python根目录main.py导入函数至api目录main.py
从根目录main.py导入函数到api/main.py的解决方法
假设你的目录结构如下:
项目根目录/ ├── main.py └── api/ └── main.py
下面提供三种可行的导入方式:
方法1:相对导入(适用于项目作为包使用的场景)
在项目根目录下创建空的__init__.py文件,将项目标记为Python包,然后在api/main.py中使用相对导入:
# api/main.py from ..main import 目标函数名
注意:这种方式不能直接运行api/main.py,需从项目根目录外部以包模块的方式启动,比如:
python -m api.main
方法2:手动添加根目录到Python路径(支持直接运行api/main.py)
在api/main.py开头添加代码,将项目根目录加入系统路径后再导入:
# api/main.py import sys from pathlib import Path # 获取项目根目录路径 root_dir = Path(__file__).parent.parent sys.path.append(str(root_dir)) # 导入目标函数 from main import 目标函数名
添加后即可直接运行api/main.py。
方法3:通过环境变量设置Python路径
运行脚本前,将项目根目录设为PYTHONPATH环境变量:
- Windows命令提示符:
set PYTHONPATH=项目根目录绝对路径 python api/main.py
- Linux/macOS终端:
export PYTHONPATH=项目根目录绝对路径 python api/main.py
设置完成后,api/main.py中直接使用from main import 目标函数名即可导入。
内容的提问来源于stack exchange,提问作者Stefano Assenzo
相关产品推荐
相关产品推荐

