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

导入父文件夹下wrapper.py时出现ImportError错误的技术求助

解决ImportError: attempted relative import with no known parent package

错误原因

直接运行dataProcessing/members.py时,Python会将该脚本视为顶层执行文件,而非项目包结构的一部分,导致..这种相对导入无法识别父级包路径。

修复步骤

1. 修正代码笔误

先修复members.py里的拼写和调用错误:

# 原错误代码
members = self.piClient.getAllClanMembersByClanTag(self, tag)
# 修正后
members = self.apiClient.getAllClanMembersByClanTag(tag)

(注意:调用实例方法无需手动传递self参数)

2. 选择任一导入方案修复路径问题

方案一:绝对导入 + 模块方式运行

修改members.py的导入语句为绝对导入:

from clashAPI.wrapper import apiWrapper

然后在项目根目录(包含clashAPI、dataProcessing的文件夹)执行命令:

python -m dataProcessing.members

-m参数会让Python将dataProcessing当作包的一部分加载,正确解析绝对导入路径。

方案二:通过根目录入口脚本运行

在项目根目录创建main.py:

from dataProcessing.members import process
process.getMemberDonations("#2QQL2VYQ2")

直接运行该脚本:

python main.py

这种方式更符合Python项目结构规范,避免直接运行子包内的脚本。

3. 优化内部包导入(可选)

为让clashAPI包内的导入更健壮,修改wrapper.py的导入为相对导入:

from .implementation import *
from .config import *

即使包的位置变动,内部导入也不会出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:27:08