擅长:python、mysql、java
<p>下面是我如何解决这个问题,我把它张贴在这里,以防它可能会帮助别人。如问题中所述,我意识到运行以下代码没有问题:</p>
<pre><code>python
from package.conf.my_conf import somevar
</code></pre>
<p>所以我想我的终端和python命令行之间肯定有些不同。所以我比较了两种情况下的<code>PYTHONPATH</code>:</p>
<pre><code>echo $PYTHONPATH
</code></pre>
<p>在我的终端打印:</p>
<pre><code>/home/myusername
</code></pre>
<p>以及python中的以下内容:</p>
<pre><code>import sys
print(sys.path)
</code></pre>
<p>印刷:</p>
<pre><code>['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/myusername/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
</code></pre>
<p>所以我更新了终端中的<code>PYTHONPATH</code>,使用:</p>
<pre><code>export PYTHONPATH=export PYTHONPATH=/home/myusername:/usr/lib/python36.zip:/usr/lib/python3.6:/usr/lib/python3.6/lib-dynload:/home/myusername/.local/lib/python3.6/site-packages:/usr/local/lib/python3.6/dist-packages:/usr/lib/python3/dist-packages
</code></pre>
<p>这就解决了问题。总之,我采取了以下步骤:</p>
<ol>
<li>确保<code>__init__.py</code>存在于所有子目录中</li>
<li><code>PYTHONPATH</code>设置正确</li>
</ol>