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

Python中如何从平行文件夹导入模块?

平行文件夹模块导入问题解决方案

核心原因

直接运行my_prog.py时,Python会把它当作顶层脚本,而非包结构的一部分,因此相对导入语法from ..subfolder2 import credentials无法识别父包,导致报错。

可行解决方法

方法1:以包模块形式运行脚本

切换到project_folder目录下,使用Python的-m参数运行脚本:

python -m subfolder1.my_prog

这种方式会让Python将整个project_folder识别为包结构,相对导入可正常生效,无需修改任何代码。

方法2:动态添加项目根路径到搜索列表

若不想依赖特定运行目录,可在my_prog.py开头添加以下代码,手动将项目根目录加入Python的模块搜索路径:

import sys
from pathlib import Path

# 获取project_folder的绝对路径
project_root = Path(__file__).resolve().parent.parent
sys.path.append(str(project_root))

# 现在可直接导入subfolder2的模块
from subfolder2 import credentials

该方式不受运行目录限制,适配远程服务器等无法固定工作目录的场景。

注意事项

  • 你添加的__init__.py文件已满足包标识要求,无需额外修改(空文件即可)。
  • 避免在subfolder1或subfolder2目录下直接执行my_prog.py,否则仍会触发相对导入错误。

内容的提问来源于stack exchange,提问作者Sebastian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 16:33:09