You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python解释器基于当前工作目录解析相对路径?

解决Python模块导入的路径问题

这确实是Python模块导入里挺常见的路径坑,不用改代码也能搞定,给你几个实用方案:

方案1:用-m参数以模块方式运行脚本

在aProject主目录下,别直接运行文件,而是用模块的方式启动:

python -m test.augmentationFile

这么做的原因是,-m参数会把当前工作目录(也就是aProject)自动加入sys.path的最前面,和你运行unittest时的环境完全一致,这样from src import *就能正常找到模块了。这是最符合Python模块设计规范的做法,推荐优先用这个。

方案2:设置PYTHONPATH环境变量

如果你习惯直接运行文件,可以先把项目根目录加到PYTHONPATH里,让Python优先从这里找模块:

  • Linux/macOS:
    export PYTHONPATH=$(pwd) && python test/augmentationFile.py
    
  • Windows CMD:
    set PYTHONPATH=%cd% && python test\augmentationFile.py
    
  • Windows PowerShell:
    $env:PYTHONPATH = Get-Location; python test\augmentationFile.py
    

设置完PYTHONPATH后,不管你从哪个目录运行脚本,Python都会先去指定的项目根目录找src模块,自然就不会报错了。

方案3:写个启动脚本(可选,适合频繁运行)

如果需要经常运行这个脚本,可以写个简单的启动脚本把环境配置和运行命令整合起来,比如在aProject目录下创建run_aug.sh(Linux/macOS):

#!/bin/bash
export PYTHONPATH=$(pwd)
python test/augmentationFile.py

或者run_aug.bat(Windows):

@echo off
set PYTHONPATH=%cd%
python test\augmentationFile.py

之后只要运行这个脚本就行,不用每次手动输环境变量。

这些方法都不需要修改augmentationFile.py里的导入语句,完全通过调整Python解释器的运行环境来解决路径问题。

内容的提问来源于stack exchange,提问作者b.g.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 06:27:51