ImportError:无法导入名称_distributor_init

时间:2018-01-24 13:34:37

标签: python scipy pip

尝试导入scipy时,我收到以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-7-4dc45f4c0083> in <module>()
----> 1 import scipy

C:\Users\admin\Anaconda2\lib\site-packages\scipy\__init__.py in <module>()
     74 
     75 # Allow distributors to run custom init code
---> 76 from . import _distributor_init
     77 
     78 __all__ += _num.__all__

ImportError: cannot import name _distributor_init

我尝试通过强制重新安装从pip重新安装,它说scipy是最新的但是然后,加载它会产生上述错误。我该如何解决?我使用 Python 2.x 版本。

3 个答案:

答案 0 :(得分:1)

我在使用cx_freeze时遇到了同样的错误,我设法通过简单地在scipy的 init .py中注释这一行来起作用(---&gt; 76来自.import _distributor_init) 。 从我在那里读到:[Numpy-discussion] Hook in init.py to let distributors patch numpy 它只是实现了更多的支票定制,这是我不需要的。 没有它,Scipy似乎工作得很好。 我没有使用anaconda安装scipy,我使用python 3.6。 希望这会有所帮助。

答案 1 :(得分:1)

我使用cx_Freeze,并且包裹出现此错误。我添加以下代码来解决此问题:

self.build_exe_options = {
    'includes': "scipy._distributor_init"
}

答案 2 :(得分:-1)

只需升级您的sklearn,升级所有内容,您就可以了