例如,我有这个包裹:
└── package
│ __init__.py
│ first.py
│ second.py
和我的first.py
#first.py
def foo(): pass
insecond.py
#second.py
from .first import foo
if __name__=='__main__':
foo()
现在,如果我尝试将second.py执行为:
$ cd package
$ python3 second.py
我收到此错误:
ModuleNotFoundError: No module named '__main__.first'; '__main__' is not a package
为什么会这样?
答案 0 :(得分:0)
您应该将first.py添加到second.py中,且不要带点
#second.py
from . import first
if __name__=='__main__':
first.foo()