无法通过pip安装Scipy


119

当通过pip安装scipy时:

pip install scipy

Pip无法构建scipy,并引发以下错误:

Cleaning up...
Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy
Storing debug log for failure in /Users/administrator/.pip/pip.log

如何获得成功构建的秘诀?这可能是OSX Yosemite的一个新问题,因为我刚刚升级并且之前没有安装scipy的问题。


调试日志:

Cleaning up...
  Removing temporary dir /Users/administrator/dev/KaggleAux/env/build...
Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy
Exception information:
Traceback (most recent call last):
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/req.py", line 706, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy

尝试使用“ sudo pip install scipy”
Piotr Dabkowski 2014年

@PiotrDabkowski我通过自制软件安装了python,所以我不需要使用sudo。另外,为什么sudo在构建步骤中会有所帮助?如果它引发了拒绝权限或其他原因,我可以看到它的使用。
2014年

您确定错误不是由某些权限问题引起的吗?
Piotr Dabkowski

Windows用户可以在这里
Statham,2016年

对于Centos,请确保您安装了lapack-devel,否则请安装lapack-devel
Divyank Shukla

Answers:


106

向SciPy团队提出问题后,我们发现您需要使用以下方法升级点子:

pip install --upgrade pip

Python 3这项工作中:

python3 -m pip install --upgrade pip

为SciPy正确安装。为什么?因为:

必须告知较旧版本的pip使用IIRC车轮--use-wheel。或者,您可以升级点子本身,然后应该拿起轮子。

升级pip可以解决此问题,但是您也可以只使用该--use-wheel标志。


11
这对我sudo apt-get install libatlas-base-dev gfortran
有用

我必须在升级之前删除旧版本的pip。然后,它运行完美。
2015年

1
另外,在我全新安装的14.04上,我还必须sudo apt-get install python-dev
BenB

90

安装了64位Python的Microsoft Windows用户需要.whl此处下载64位的Scipy ,然后将其简单地cd下载到您已下载.whl文件并运行的文件夹中:

pip install scipy-0.16.1-cp27-none-win_amd64.whl

28
scipy-0.16.1-cp27-none-win_amd64.whl is not a supported wheel on this platform.
制表师

15
@gugol也许您已经尝试过了,但是您必须确保cp之后的数字与您的python版本匹配(例如cp34 = 3.4)并且amd64 / win32是正确的。
fdsa

4
D:\TEMP>pip install "scipy-0.19.1-cp35-cp35m-win_amd64.whl" Requirement 'scipy\u20110.19.1\u2011cp35\u2011cp35m\u2011win_amd64.whl' looks li ke a filename, but the file does not exist scipy\u20110.19.1\u2011cp35\u2011cp35m\u2011win_amd64.whl is not a valid wheel f ilename. D:\TEMP>pip install "test.whl" test.whl is not a valid wheel filename. D:\TEMP>pip install test.whl test.whl is not a valid wheel filename.我CD到目录尝试运行它,然后得到一个错误。然后,我更改文件名,尝试运行它,然后得到另一个错误。方法行不通...
user32882 '17

我看到了与@ user32882相同的问题。我们做错了什么?
gen

@gugol我遇到了同样的问题,@ Cyclotron3x3的笔记帮助了我。该-cp27文件名是指蟒蛇的版本,我必须找到该文件与-cp36文件名,以配合我的Python版本:3.6。
本森

59

在ubuntu下安装Scipy时遇到相同的问题。
我不得不使用命令:

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

您可以在此处获得更多详细信息使用pip安装SciPy
对不起,在OS X Yosemite下不知道如何进行操作。


这解决了我使用“ Windows 10上的Ubuntu上的Bash”的问题。
Coxy

41

在Windows 10中,大多数选项将不起作用。跟着这些步骤:

在Windows 10与CMD,你不能下载scipy直接使用最知名的命令喜欢的wgetcloning scipy githubpip install scipy,等

要安装,请转至pythonlibs .whl文件,如果正在使用,请python 2.7 32 bit下载,numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl and scipy-0.18.1-cp27-cp27m-win32.whl或者python 2.7 62 bit先下载numpy-1.11.2rc1+mkl-cp27-cp27m-win_amd64.whl and scipy-0.18.1-cp27-cp27m-win_amd64.whl

下载后,将文件保存在您的下python directory,在我的情况下是c:\>python27

然后运行:

pip install C:\Python27\numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl 
pip install C:\Python27\scipy-0.18.1-cp27-cp27m-win32.whl

注意:

  1. scipy需要numpy作为依赖项,所以这就是我们在下载numpy之前scipy
  2. cp27.whl文件中的文件意味着这些文件专门用于python 2.7cp33表示python 3.x> = 3.3

这就像一个魅力!:)尝试了所有其他解决方案,但都失败了(Windows 10,Python 2.7 32位)
U. Muneeb

这为我工作在赢得10与Python 3.5和64b机PIP安装numpy的-1.13.1 + MRL-CP35-cp35m-win_amd64.whl PIP安装numpy的-1.13.1 + MRL-CP35-cp35m-win_amd64.whl
弗拉德

这个答案解决了我的问题(Windows 8.1),但是我还需要下载并安装numpy + mkl wheel。如果在遵循此答案后尝试导入scipy时收到ImportError“ NUMPY_MKL”,请执行此操作。学分@VMAtm
雷纳托·拜罗

对于Windows 10上的Python 3.6.2,请使用scipy-0.19.1-cp36-cp36m-win_amd64.whl
Dmitry

谢谢!,要使用imread,我还需要安装Pillow --pip install Pillow
无限

13

找到一些线索的答案后,我通过做

brew install gcc 
pip install scipy

(第一步是在我的2011 Mac Book Air上花费96分钟,所以希望您不要着急!)


我实际上无法brew install gcc。最终引发了很多错误。但是在和Scipy的家伙一起工作之后;我找到了解决方案。感谢您的回答!
agconti 2014年

实际上,这实际上是我的直接解决方案。最终无法构建和安装下载的scipy工具包。:)
肖恩

这为我工作,只花了几秒钟的第一步
安德烈FRATELLI

9

如果您是python的新手,请分步阅读或直接进入最后一步。请按照以下方法在Windows 64位,Python 64位上安装scipy 0.18.1。如果以下命令不起作用,请继续进行操作

pip install scipy

注意以下版本

  1. 蟒蛇

  2. 视窗

  3. .whl版本的numpy和scipy文件

  4. 首先安装numpy和scipy。

    pip install FileName.whl
  5. 对于Numpy:http : //www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 对于Scipy:http : //www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

注意文件名(检查版本号)。

例如:scipy-0.18.1-cp35-cp35m-win_amd64.whl

要检查您的点子支持哪个版本,请转到下面的第2点。

如果您正在使用.whl文件。可能会发生以下错误。

  1. 您正在使用pip版本7.1.0,但是版本8.1.2可用。

您应该考虑通过'python -m pip install --upgrade pip'命令进行升级

  1. 在此平台上不支持scipy-0.15.1-cp33-none-win_amd64.whl.whl

对于上述错误:启动Python并输入:

import pip
print(pip.pep425tags.get_supported())

输出:

[('cp35','cp35m','win_amd64'),('cp35','none','win_amd64'),('py3','none','win_amd64'),('cp35','none ','any'),('cp3','none','any'),('py35','none','any'),('py3','none','any'),( 'py34','none','any'),('py33','none','any'),('py32','none','any'),('py31','none', 'any'),('py30','none','any')]

在输出中,您会看到cp35在那里,因此为numpy和scipy下载cp35,欢迎进一步编辑。



6

而不是艰难地下载特定软件包。我更喜欢使用Conda的更快途径。点有问题。

  • Python -v(3.6.0)
  • Windows 10(64位)

Conda,从以下位置安装conda:https ://conda.io/docs/install/quick.html#windows-miniconda-install

命令提示符

C:\Users\xyz>conda install -c anaconda scipy=0.18.1
Fetching package metadata .............
Solving package specifications:

在环境C:\ Users \ xyz \ Miniconda3中安装的软件包计划:

将安装以下新软件包:

mkl:       2017.0.1-0         anaconda
numpy:     1.12.0-py36_0      anaconda
scipy:     0.18.1-np112py36_1 anaconda

优先级较高的频道将对以下程序包进行超级管理:

conda:     4.3.11-py36_0               --> 4.3.11-py36_0 anaconda
conda-env: 2.6.0-0                     --> 2.6.0-0       anaconda

是否继续([y] / n)?ÿ

conda-env-2.6. 100% |###############################| Time: 0:00:00  32.92 kB/s
mkl-2017.0.1-0 100% |###############################| Time: 0:00:24   5.45 MB/s
numpy-1.12.0-p 100% |###############################| Time: 0:00:00   5.09 MB/s
scipy-0.18.1-n 100% |###############################| Time: 0:00:02   5.59 MB/s
conda-4.3.11-p 100% |###############################| Time: 0:00:00   4.70 MB/s


4

这是pip的替代方法。安装scipy时我也遇到了相同的错误使用pip。

然后我下载并安装了MiniConda。然后,我使用以下命令安装pytables。

conda install -c conda-forge scipy

请参考以下屏幕截图。

在此处输入图片说明


3

我可以建议的最好方法是

  1. 从此位置下载wheel文件以获取您的python版本

  2. 将文件移动到主驱动器,例如C:>

  3. 运行Cmd并输入以下内容

    • 点安装scipy-1.0.0rc1-cp36-none-win_amd64.whl

请注意,这是我用于pyhton 3.6.2的版本,应该可以正常安装

您可能要在确保所有python附加组件都是最新的之后运行此命令

pip list --outdated

1

或者,手动下载并执行 适合您的http://www.lfd.uci.edu/~gohlke/pythonlibs Scipy版本。考虑您的Python版本(python --version)和您的系统架构(32/64位)。相应地选择Scipy版本。SciPy的-0.18.1- cp27 -cp27m- 的win32 -用于Python 2.7 32位SciPy的-0.18.1- cp27 -cp27m- win_amd64 -用于Python 2.7 64位否则错误 SciPy的-0.15.1-CP33-NONE-win_amd64.whl不支持.whl的平台 上的滚轮将在安装时弹出。

现在将目录更改为下载的文件并执行命令 pip install scipy-0.15.1-cp33-none-win_amd64.whl.whl(适当更改文件名)

我添加此答案的唯一原因是Arun的答案(对我自己有用)没有提及我所遇到的有关32/64位匹配的任何内容。


0

如果您使用的是CentOS,则需要按以下方式安装lapack-devel:

 $ yum install lapack-devel



0

我遇到了同样的问题,并且成功使用了sudo

$ sudo pip install scipy

0

最简单的方法是执行以下步骤:修复python [2.n <python <3.n]的scipy

从以下位置下载必要的文件:http : //www.lfd.uci.edu/~gohlke/pythonlibs/

下载numpy + mkl的版本(需要运行scipy),然后为您的python类型(2.n python编写为2n)或(3.n python编写为3n)下载scipy,n是一个变量。请注意,您必须知道您拥有32位还是64位处理器。

在计算机上的某个位置创建一个目录,例如[C:\ DIRECTORY]以安装文件numpy + mkd.whl和scipy.whl

下载完两个文件后,在计算机上找到文件的位置,然后将其移动到您创建的目录中。

示例:首先需要安装文件才能安装scipy

C:\ DIRECTORY \ numpy \ numpy-0.0.0 + mkl-cp2n-cp2nm-win_amd32.whl

示例:第二个文件安装在

C:\ DIRECTORY \ scipy \ scipy-0.0.0-cp2n-cp2nm-win_amd32.whl

转到命令提示符并针对python 2.n版本继续以下示例:

py -2.n -m pip install C:\DIRECTORY\numpy\numpy-0.0.0+mkl-cp2n-cp2nm-win_amd32.whl

应该安装

py -2.n -m pip install C:\DIRECTORY\scipy\scipy-0.0.0-cp2n-cp2nm-win_amd32.whl

应该安装

如下测试python IDLE上的两个模块:

import numpy

import scipy

如果没有错误返回,则模块正在工作。

国际食品药品监督管理局


这个问题是Windows特定的吗,因为发问者在OS X Yosemite上吗?
阿里·库珀·戴维斯

0

对于Windows(在我的情况下为7):

  1. http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy下载scipy-0.19.1-cp36-cp36m-win32.whl
  2. 创建一个带有内容的some.bat文件

    @echo off C:\Python36\python.exe -m pip -V C:\Python36\python.exe -m pip install scipy-0.19.1-cp36-cp36m-win32.whl C:\Python36\python.exe -m pip list pause

  3. 然后运行此批处理文件some.bat

  4. 调用python shell“ C:\ Python36 \ pythonw.exe” C:\ Python36 \ Lib \ idlelib \ idle.pyw“并测试scipy是否与

导入密码


PS:我在Windows 7下的同一台计算机上安装了Phyton(2.7、3.5和3.6)的多个版本
Ion Stefanache



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.