python-了解ModuleNotFoundError:没有名为“ __main__.xxx”的模块(相对导入)

时间:2018-08-05 04:07:21

标签: python django python-3.x flask

例如,我有这个包裹:

└── 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

为什么会这样?

1 个答案:

答案 0 :(得分:0)

您应该将first.py添加到second.py中,且不要带点

#second.py
from . import first
if __name__=='__main__':
    first.foo()