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

Python项目中遇ImportError:尝试相对导入但未知父包问题

解决相对导入报错的方案

针对你遇到的ImportError: attempted relative import with no known parent package问题,提供以下几种可行的解决方式:

方案一:手动添加父目录到Python路径

在test.py开头加入以下代码,将actions目录添加到Python的模块搜索路径中,这样就能直接导入目标模块:

import sys
from pathlib import Path

# 获取当前文件的父目录的父目录(即actions目录)
actions_path = Path(__file__).resolve().parent.parent
sys.path.append(str(actions_path))

# 导入目标模块
from business_logics import business_logics

方案二:以模块形式运行测试脚本

不要直接在tests目录下执行python test.py,回到项目根目录(包含package和utils文件夹的目录),使用以下命令运行脚本:

python -m utils.actions.tests.test

这种方式会让Python将整个项目识别为完整的包结构,此时test.py中原本的相对导入语句from ..business_logics import business_logics就能正常生效。

方案三:显式声明包结构

在actions、business_logics、tests三个目录下分别创建空的__init__.py文件(Python 3.3+支持命名空间包,但显式添加该文件能更明确地告知Python这是一个包),之后配合方案二的模块运行方式,相对导入即可正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:07:02