无法通过pip安装Scipy

时间:2014-10-26 17:05:13

标签: python scipy

通过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

如何成功建立scipy?这可能是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

21 个答案:

答案 0 :(得分:102)

在与SciPy团队开放issue后,我们发现您需要升级点数:

pip install --upgrade pip

Python 3中,这有效:

python3 -m pip install --upgrade pip

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

  

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

升级pip解决了这个问题,但您也可以只使用--use-wheel标志。

答案 1 :(得分:87)

64位Python安装的Microsoft Windows用户需要从here下载64位.whl Scipy,然后只需将cd下载到您已下载{{1}的文件夹中文件并运行:

.whl

答案 2 :(得分:58)

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

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

您可以在此处获取更多详细信息Installing SciPy with pip
抱歉,不知道如何在OS X Yosemite下进行操作。

答案 3 :(得分:40)

在Windows 10中,大多数选项都不起作用。请按照以下步骤操作:

  

在使用CMD的Windows 10中,您无法使用大多数众所周知的命令直接下载scipy,例如wgetcloning scipy githubpip install scipy

     

要安装,请转到pythonlibs .whl files,如果您使用的是python 2.7 32 bit,请下载numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl and scipy-0.18.1-cp27-cp27m-win32.whlpython 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. .lil文件中的
  3. cp27表示这些文件适用于python 2.7cp33代表python 3.x特定> = 3.3

答案 4 :(得分:9)

对于 Windows 10

  

C:\目录> pip install scipy-0.19.0rc2-cp35-cp35m-win_amd64.whl

答案 5 :(得分:9)

找到this answer获取一些线索后,我通过

完成了这项工作
brew install gcc 
pip install scipy

(这些步骤中的第一步在我的2011 Mac Book Air上花了96分钟,所以我希望你不要着急!)

答案 6 :(得分:8)

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

pip install scipy

小心

的版本
  1. Python

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

  3. 首先安装numpy和scipy。

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

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

    Ex:scipy-0.18.1-cp35-cp35m-win_amd64.whl

    要查看您的点数支持的版本,请转到下面的第2点。

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

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

    你应该考虑通过&python -m pip install升级 - 升级pip'命令

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

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

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

    输出:

      

    [(' cp35',' cp35m',' win_amd64'),(' cp35','无' ;,' win_amd64'),(' py3','无',' win_amd64'),(' cp35' ,'没有'任何'),(' cp3','无','任何'),( ' py35','无','任何'),(' py3','无',' ;任何'),(' py34','无','任何'),(' py33','没有','任何'),(' py32','无','任何'),(' py31& #39;,'无','任何'),(' py30','无','任何' )]

    在输出中你会看到cp35在那里,所以下载cp35为numpy以及scipy。非常欢迎进一步的编辑。

答案 7 :(得分:6)

而不是采取更难下载特定包的路线。我更喜欢使用Conda更快的路线。 pip有它的问题。

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

Conda,从https://conda.io/docs/install/quick.html#windows-miniconda-install

安装conda

命令提示符

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

答案 8 :(得分:5)

  1. http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. 下载SciPy
  3. 进入下载文件所在的目录和pip install文件。
  4. 转到python shell,运行import scipy;它对我有用,没有任何错误。

答案 9 :(得分:4)

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

然后我下载并安装了MiniConda。然后我使用下面的命令来安装pytables。

conda install -c conda-forge scipy

请参阅以下屏幕截图。

enter image description here

答案 10 :(得分:3)

我建议的最佳方法是

  1. 从此位置下载适用于您的python版本

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

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

    • pip install scipy-1.0.0rc1-cp36-none-win_amd64.whl
  4. 请注意这是我用于pyhton 3.6.2的版本,它应该安装得很好

    您可能希望在运行此命令之后确保所有python添加都是最新的

    pip list --outdated
    

答案 11 :(得分: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位匹配的任何内容。

答案 12 :(得分:0)

尝试从以下链接下载scipy文件

https://sourceforge.net/projects/scipy/?source=typ_redirect

它将是一个.exe文件,你只需要运行它。但一定要选择与python版本对应的scipy版本。

当运行scipy.exe文件时,它将找到python目录并将被安装。

答案 13 :(得分:0)

使用wheel文件进​​行安装 从这里下载 http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy 安装

pip install c:\jjjj\ggg\fdadf.whl

答案 14 :(得分:0)

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

$ sudo pip install scipy

答案 15 :(得分:0)

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

StringToWordVector

下载必要的文件

下载numpy + mkl的版本(需要运行scipy)然后下载scipy为你的python类型(2.n python写为2n)或(3.n python写为3n),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

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

IFDAAS

答案 16 :(得分:0)

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

  1. 从下载scipy-0.19.1-cp36-cp36m-win32.whl                             http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  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 &#34; C:\ Python36 \ pythonw.exe&#34; C:\ Python36 \ Lib \ idlelib \ idle.pyw&#34; 并测试是否安装了scipy
  5. import scipy

答案 17 :(得分:0)

如果您使用的是CentOS,则需要安装lapack-devel,如下所示:

 $ yum install lapack-devel

答案 18 :(得分:0)

  

在Windows 10 100%上安装scipy的简便方法是:   请点赞这个====&gt; pip install scipy==1.0.0rc2

稍后再说:)

答案 19 :(得分:0)

我在Python 3.7(3.7.0b4)中遇到过类似的问题。这是由于某些编码assumptions (Python 3.6 >> Python 3.7)

的一些变化

因此,许多软件包安装(例如通过pip)都失败了。

答案 20 :(得分:0)

你可以测试这个答案:

python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose