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

Python模块导入问题:如何在test.py中导入test1.py?

Python跨目录导入问题解决

目录结构(修正后)

先确认file2下的初始化文件是__init__.py(前后各两个下划线,原拼写_init_.py会导致Python无法识别该目录为包):

- AWS/
    - __init__.py
    - file2/
        - __init__.py 
        - test1.py
    - random/
        - test.py

报错原因及对应解决方案

报错1:from ..file2 import test1 → ImportError: attempted relative import with no known parent package

原因:直接运行test.py时,Python不会将其视为包的一部分,无法识别相对导入的父包层级。
解决方法:
回到AWS目录的上级目录,以模块方式运行test.py:

python -m AWS.random.test

此时Python会将AWS当作完整包处理,相对导入可正常执行,test.py中的from ..file2 import test1能正常生效。

报错2:from file2 import test1 → ImportError: No module named file2

原因:Python的模块搜索路径未包含AWS目录,找不到file2包。
解决方法:
在test.py开头添加代码,将AWS目录添加到Python搜索路径:

import sys
import os

# 获取AWS目录的绝对路径
aws_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(aws_root)

# 现在可正常导入
from file2 import test1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:26:02