filenotfounderror 根本原因是 pycharm 工作目录或 python 解释器路径配置错误:需在 run configurations 中设工作目录为项目根目录,或在 settings 中重置解释器路径并清理 .idea 文件夹。

FileNotFoundError 不是代码写错了,而是 PyCharm 没站在你预期的位置上找文件。根本原因就两个:工作目录(Working Directory)不对,或者 Python 解释器路径失效。下面分场景直接给解法。
运行时提示 FileNotFoundError:先确认工作目录在哪
PyCharm 默认把「当前 .py 文件所在目录」设为工作目录,但多数项目(比如 YOLOX、Hyperspectral-Classification)要求从项目根目录启动。你在 tools/train.py 里写 load_cfg('./configs/yolox_s.yaml'),实际却在 tools/ 下找 ./configs/,必然失败。
- 右键运行脚本 → 选
Edit Configurations…→ 找到Working directory字段 - 改成项目根目录的绝对路径,例如
C:\YOLOX_PROJECT或/home/user/YOLOX_PROJECT - 更稳妥的做法:点右侧文件夹图标,选择项目根目录后勾选
Use project root as working directory - 如果用命令行等效验证,就在终端 cd 到该目录再执行
python tools/train.py,结果一致才算配对
Cannot run program ".../python.exe":解释器路径断了
这错误和文件路径无关,是 PyCharm 根本没找到 Python 解释器。常见于移动项目文件夹、重装 Python、升级 PyCharm 后 .idea 配置残留。
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
- 打开
File → Settings → Project → Python Interpreter - 看解释器路径是否标红或带
[invalid];若是,点击右上角齿轮 →Show All…→ 选中后按Alt+Del删除 - 点
+→Existing environment→ 浏览到真实路径,如venv\Scripts\python.exe(Windows)或venv/bin/python(macOS/Linux) - 删掉整个
.idea文件夹(需显示隐藏文件),重启 PyCharm 重新配置,能一并解决旧版配置冲突问题
相对路径总出错?别靠直觉,用 os.path.abspath(__file__) 定位
硬编码绝对路径不跨平台,但盲目信 ./data 又容易翻车。最稳的方式是让代码自己算路径起点。
- 在读配置或数据前,加一行:
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) - 然后拼接:
config_path = os.path.join(BASE_DIR, '..', 'configs', 'yolox_s.yaml') - 注意
os.path.abspath(__file__)返回的是当前 .py 文件的绝对路径,不是工作目录 - 如果项目结构固定,可封装成函数复用,避免每个文件都重复写
.idea 目录和 venv 路径最容易被忽略——它们不是代码,但决定代码能不能跑起来。










