Python 中的相对导入:理解“非包”错误
普遍存在的“尝试非包中的相对导入”问题源于对脚本和模块之间的区别以及它们各自的行为的误解import.
脚本与模块
直接执行 Python 文件时,它充当顶级脚本,并被分配名称“__main__”。导入时,文件名变成包名后跟文件名,以点分隔。
相对导入和包
相对导入利用模块的名称来定位其在包层次结构中的位置。但是,如果模块的名称不包含包信息(例如“__main__”),则无论其实际文件位置如何,都会像顶级模块一样解析相对导入。
“非包”错误
当在不被识别为包的一部分的模块中尝试相对导入时,会发生错误。当模块的名称缺少点时,可能会发生这种情况,表明其非包状态。
解决方案
要解决该错误,请考虑以下方法:
附加说明:
以上是为什么Python会抛出'非包中的相对导入”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!