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

Python项目相对导入报错:attempted relative import with no known parent package 求助

解决Python相对导入错误:ImportError: attempted relative import with no known parent package

项目结构

Python_Projects/
        └── project_1/
            ├── __init__.py
            ├── my_functions.py
            ├── test.py
            └── sub_folder_add/
                └── add.py

问题场景

add.py中的代码为:

from .my_functions import addition

运行时触发错误:

ImportError: attempted relative import with no known parent package

解决方案

方案1:以包的形式从外部调用

不要直接运行add.py,回到Python_Projects目录,通过包结构调用模块。比如在test.py中写入:

from sub_folder_add.add import addition

随后在Python_Projects目录下执行命令:

python -m project_1.test

方案2:改用绝对导入并调整路径

如果需要直接运行add.py,先将项目根目录加入Python路径,再修改导入语句为绝对路径:

import sys
sys.path.append("../../")  # 路径根据实际层级调整,确保能定位到project_1

from project_1.my_functions import addition

方案3:使用-m参数以模块方式运行

在Python_Projects目录下,用模块方式启动add.py:

python -m project_1.sub_folder_add.add

这种方式会让Python将project_1识别为父包,相对导入就能正常解析。

原因说明

相对导入的前提是Python将当前文件识别为某个包的组成部分。直接运行add.py时,Python会把它当作独立脚本,而非包内模块,因此无法识别相对导入指向的父包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 09:36:29