擅长:python、mysql、java
<p>基本上,您会陷入python的相对导入困境。Python导入系统在相对导入方面有点复杂。因此,必须谨慎地使用相对导入(为此,请尝试为您的模块指定这样的名称,这不会与标准模块/包冲突)。在python包中编写任何文件时,都会遇到这个问题。你会有两种情况:</p>
<p>1)将文件作为模块运行</p>
<pre><code>python -m package.module
</code></pre>
<p>2)将文件作为脚本运行</p>
^{pr2}$
<p>在正常情况下,一切都会很好,但是当您像您所做的那样进行相对导入,然后以脚本形式运行file时,会导致问题,因为针对<code>__name__</code>模块变量解析相对导入,而对于脚本,这将是<code>'__main__'</code>,因此,它在解决相对导入时将面临问题。在</p>
<p>请参阅以下文章:-<a href="http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html" rel="nofollow noreferrer">http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html</a></p>