擅长:python、mysql、java
<p>“唯一正确的方法”是第三种吗?-避免直接弄乱<code>sys.path</code></p>
<p>我遇到了同样的问题,我解决了它。</p>
<pre><code>dir/
build.py
dir2
dir3/
packages.py
</code></pre>
<ol>
<li><strong>将文件<code>__init__.py</code></strong>添加到<code>dir1, dir2, dir3 ...</code></li>
<li>在包层次结构中,使用两点。</li>
</ol>
<hr/>
<p><code>bulid.py</code>要导入<code>packages.py</code>,请在bulid.py中写入:</p>
<pre><code>import ..dir2.dir3.packages
from ..dir2.dir3.packages import function
</code></pre>
<blockquote>
<p><a href="https://docs.python.org/2/whatsnew/2.5.html#pep-328-absolute-and-relative-imports" rel="nofollow noreferrer">https://docs.python.org/2/whatsnew/2.5.html#pep-328-absolute-and-relative-imports</a></p>
<p><a href="https://stackoverflow.com/questions/714063/importing-modules-from-parent-folder">Importing modules from parent folder</a></p>
<p><a href="https://stackoverflow.com/questions/1054271/how-to-import-a-python-class-that-is-in-a-directory-above">How to import a Python class that is in a directory above?</a></p>
</blockquote>