【发布时间】:2018-06-06 07:13:15
【问题描述】:
我有这个文件设置:
mainfolder:
__init__.py
mainfile.py
subfolder1:
file1.py
__init__.py
subfolder2:
file2.py
__init__.py
我需要将 mainfile.py 导入到 file1.py 和 file2.py 中。目前我正在使用:
from .. import mainfile
但这会带来错误:尝试相对导入超出顶级包。
我也试过了:
from ...mainfolder import mainfile
这会带来相同的信息,并且:
from mainfolder import mainfile
这带来了错误信息:没有名为'mainfolder'的模块
在 __init __.py 文件中,我有以下代码:
__all__ = [list of files in package]
我不确定为什么这不起作用。如果有人能解释我做错了什么,我将不胜感激。
编辑:运行时出现错误“尝试相对导入超出顶级包”:
from .. import mainfile
在文件 1 中。
【问题讨论】:
-
你是用
python mainfolder/subfolder2/file2.py还是python -m mainfolder.subfolder2.file2调用它? -
什么意思?
-
你怎么称呼/导入会引发“尝试的相对导入超出顶级包”ImportError?
-
python 主文件夹/子文件夹/file2.py
标签: python python-3.x import packages