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

Posted

技术标签:

【中文标题】python - 了解 ModuleNotFoundError:没有名为“__main__.xxx”的模块(相对导入)[重复]【英文标题】:python - Understanding ModuleNotFoundError: No module named '__main__.xxx' (Relative Imports) [duplicate] 【发布时间】:2019-01-12 10:47:13 【问题描述】:

例如我有这个包:

└── package
   │   __init__.py
   │   first.py
   │   second.py

在我的 first.py 中

#first.py

def foo(): pass

在 second.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】:

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

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

【讨论】:

以上是关于python - 了解 ModuleNotFoundError:没有名为“__main__.xxx”的模块(相对导入)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫入门:爬虫基础了解

了解python

python_week1简单的了解一下Python

python包学习:-了解

认识python(了解)

Python入门到实践-了解Python