<p>对我来说解决办法是</p>
<pre><code>Run > Edit Configuration > Defaults > Python
</code></pre>
<p>然后管理</p>
<ul>
<li>“将内容根添加到PYTHONPATH”和</li>
<li>“将源根添加到PYTHONPATH”</li>
</ul>
<p>复选框,以及设置“工作目录”字段。</p>
<p>如果您已经设置了自己的运行/调试配置,则可能需要转到</p>
<pre><code>Run > Edit Configuration > Python > [Whatever you called your config]
</code></pre>
<p>在那里编辑。</p>
<p>我的问题是,我想将我的整个存储库包含在我的PyCharm 2016.2项目中,但只有一个子文件夹是实际的python源代码根目录。我通过右键单击文件夹将其添加为“Source Root”</p>
<pre><code>Mark directory as > Source Root
</code></pre>
<p>然后取消选中“将内容根添加到PYTHONPATH”,并选中“运行/调试配置”菜单中的“将源根添加到PYTHONPATH”。然后我通过执行以下操作检查文件夹路径:</p>
<pre><code>import sys
logger.info(sys.path)
</code></pre>
<p>输出:</p>
<pre><code>[
'/usr/local/my_project_root/my_sources_root',
'/usr/local/my_project_root/my_sources_root',
'/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload',
'/usr/local/lib/python3.4/dist-packages',
'/usr/lib/python3/dist-packages'
]
</code></pre>
<p>但是,如果没有修复,它会说:</p>
<pre><code>[
'/usr/local/my_project_root/my_sources_root',
'/usr/local/my_project_root', <-- NOT WANTED
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload',
'/usr/local/lib/python3.4/dist-packages',
'/usr/lib/python3/dist-packages'
]
</code></pre>
<p>这意味着我包含了项目根文件夹。这把我的路搞砸了。</p>