我已经在python3.6上安装了scipy:
sudo apt-get install python3-scipy
pip3 install scipy
但是,它不适用于此错误。
ModuleNotFoundError: No module named 'scipy.special._ufuncs'
我该怎么办?
非常感谢您的帮助。
答案 0 :(得分:0)
通常,请勿使用sudo pip
。
最好使用virtualenv,并将所有内容安装到其中。
您看到的迹象表明安装已损坏,最好从头开始重新安装---或激活virtualenv。
答案 1 :(得分:-1)
ufuncs
(又名Universal Functions)是NumPy框架的一部分。使用SciPy时,必须先安装NumPy,因为它是一个依赖项。您可能会因为没有NumPy软件包而得到ModuleNotFoundError。
在尝试任何操作之前,请列出当前安装的软件包:
pip3 list
如果未安装NumPy,请尝试安装它:
pip3 install numpy
编辑:
似乎您已尝试使用ubuntu软件包安装程序安装scipy。这就是为什么您的scipy版本为0.17的原因。有时某些ubuntu软件包可能已过时。因此,最好使用PyPI之类的官方软件包管理器(对于Python)。
首先卸载由程序包管理器安装的scipy:
sudo apt-get purge python3-scipy
成功卸载后,请使用PyPI重新安装它:
pip3 install scipy
这将从python软件包索引中安装最新版本(1.1.0)。
如果一切顺利,您应该可以运行代码而不会出现任何错误。