擅长:python、mysql、java
<p>为了解决这个问题,我做了如下的工作:(注意,我并不完全清楚这些解决了问题中的哪一个,因为我没有进行彻底的测试)。</p>
<p>1)在python.org上安装python而不是Mac的愚蠢版本</p>
<p>2)重新安装所有模块,如<code>numpy</code>、<code>scipy</code>、<code>matplotlib</code>、<code>sklearn</code>,并根据此源运行此代码:<code>hash -r python</code>,因为它不会使python使用模块的缓存版本。</p>
<p>3)然后,我意识到我有这个问题:<a href="https://github.com/scipy/scipy/issues/5093" rel="nofollow noreferrer">https://github.com/scipy/scipy/issues/5093</a>。为了解决这个问题,我必须确保使用<code>python -m pip install scipy='0.15.0'</code>而不是仅仅使用<code>pip install scipy='0.15.0'</code>来安装<code>scipy</code>模块,因为这解决了基于这个源的问题:<a href="https://stackoverflow.com/questions/25276329/cant-load-python-modules-installed-via-pip-from-site-packages-directory">Can't load Python modules installed via pip from site-packages directory</a>。</p>
<p>因此,总而言之,由<code>pip</code>安装的内容和从终端执行<code>python</code>时导入的内容之间确实有很大的不同。因此,为了确保使用pip将模块安装到特定的python中,可以使用<code>python -m pip install <package name></code>。</p>