Windows 上出现“没有名为scipy的模块”的错误

5
在sklearn\base.py中,我有这个语句from scipy import sparse。出现了错误"no module named scipy"
我尝试使用pip install scipy安装它,但是出现了很多错误:
libraries mkl_rt not found
openblas not found
lapack not found
no lapacl/blas resources found

我应该在Windows上做什么?


2
阅读 https://www.scipy.org/install.html - MotKohn
1
针对Linux用户 - Martin Thoma
针对Mac用户 - Martin Thoma
5个回答

8

我花了几天时间找到了这个解决方案。

首先,您想安装哪个Python版本?

如果您想安装Python 2.7版本:

步骤1:

scipy‑0.19.0‑cp27‑cp27m‑win32.whl

scipy‑0.19.0‑cp27‑cp27m‑win_amd64.whl

numpy‑1.11.3+mkl‑cp27‑cp27m‑win32.whl

numpy‑1.11.3+mkl‑cp27‑cp27m‑win_amd64.whl

如果您想安装Python 3.4版本:

scipy‑0.19.0‑cp34‑cp34m‑win32.whl

scipy‑0.19.0‑cp34‑cp34m‑win_amd64.whl

numpy‑1.11.3+mkl‑cp34‑cp34m‑win32.whl

numpy‑1.11.3+mkl‑cp34‑cp34m‑win_amd64.whl

如果您想安装Python 3.5版本:

scipy‑0.19.0‑cp35‑cp35m‑win32.whl

scipy‑0.19.0‑cp35‑cp35m‑win_amd64.whl

numpy‑1.11.3+mkl‑cp35‑cp35m‑win32.whl

numpy‑1.11.3+mkl‑cp35‑cp35m‑win_amd64.whl

如果您想安装Python 3.6版本:

scipy‑0.19.0‑cp36‑cp36m‑win32.whl

scipy‑0.19.0‑cp36‑cp36m‑win_amd64.whl

numpy‑1.11.3+mkl‑cp36‑cp36m‑win32.whl

numpy‑1.11.3+mkl‑cp36‑cp36m‑win_amd64.whl

链接:点击这里

下载完成后,进入您的目录。

例如,我的目录是:

cd C:\Users\asus\AppData\Local\Programs\Python\Python35\Scripts>
pip install [where/is/your/downloaded/scipy_whl.]

安装完成后
第二步:
Numpy+MKL
从相同的网站中根据 Python 版本再次下载:
下载完成后,再次将其用于 Script 文件夹。
cd C:\Users\asus\AppData\Local\Programs\Python\Python35\Scripts>

pip3 install [where/is/your/downloaded/numpy_whl.]

并在 Python 文件夹中测试。

Python35>python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy

6
从以下链接下载scipy的wheel文件: https://pypi.python.org/pypi/scipy 然后使用下载的文件进行pip安装。
pip install <wheel-file>

如果需要的话,请提供sudo权限。

先生,我找不到一个支持Windows的! - Geethu Alphonsa Jose
@GeethuAlphonsaJose,请检查您的wheel和Python版本,同时也请检查是32位还是64位。 - Night Programmer

2

在Ubuntu下安装Scipy时,我遇到了同样的问题。我必须使用以下命令:

$ sudo apt-get install libatlas-base-dev gfortran
$ sudo pip install scipy

在CentOS上

$ yum install lapack-devel
$ sudo pip install scipy

1
在编程中,使用sudo pip install scipy是一种不好的做法--以root身份运行PyPI软件包是危险的,并且将Python组件安装到主site-packages目录中是非常不好的做法(它会编辑您的操作系统)。考虑使用virtualenv、conda+conda envs或安装到主目录等方式。 - Mike Graham
@Mike Graham 完全同意,但请确认您正在回答的对象。查看他的问题。它有一行说:“我尝试使用“pip install scipy”进行安装。但是当我这样做时,会收到很多错误信息。”我认为这对他来说现在应该是一个容易的事情。 - Saurabh Pandey

1

numpy在安装scipy之前应该先安装。当我仅使用numpy时,我遇到了这个问题。先安装numpy,然后再安装scipy。这对我有效。

pip install numpy

pip install scipy

它会显示类似于这样的消息。

要求已满足:numpy>=1.8.2(来自scipy)

希望这对您有所帮助。 :)


0

我从未成功地使用pip安装scipy,相反,我发现安装所有基本依赖项更容易。在此处检查您的操作系统

我从未在Windows上尝试过这个,但是Linux安装对我总是有效的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接