出现的错误:
代码:
这是testmyxyz.py
from . import xyz
def test():
xyz.xyz_fun()
def test2():
print(None)
test()
其中文件关系如图:
我本来想在testmyxyz中导入与其在同一package下的xyz模块,并且直接在testmyxyz.py中运行,结果出现以下问题:
原因1:
有的人说可能是因为要导入的package (即mypack) 里面缺少__init__.py
但是我经过检查发现有该文件
并且,即使没有__init__.py在正常情况下也可以运行,我稍后会在文章中做出解释
原因2:
要导入的包含有程序入口,即可以运行的文件
经过检查,我发现,我正要运行的文件testmyxyz.py恰好在该包里,所以我尝试将该文件从mypack包里移出去,将其存在另一个包mainpackage里
此时文件关系如图: