使用pip安装Scipy失败

10
我在cmd中使用“pip install scipy”命令,但最后出现了这个错误。我该如何解决?
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Users\Spencer>pip install scipy
Collecting scipy
  Using cached scipy-0.17.0.tar.gz
Complete output from command python setup.py egg_info:
non-existing path in 'numpy\\distutils': 'site.cfg'
Running from numpy source directory.
c:\users\spencer\appdata\local\temp\easy_install-3pkkpt\numpy-1.11.0\setup.py:327: UserWarning:
Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
  warnings.warn("Unrecognized setuptools command, proceeding with "
c:\users\spencer\appdata\local\temp\easy_install-3pkkpt\numpy-1.11.0\numpy\distutils\system_info
.py:1640: UserWarning:
    Atlas (http://math-atlas.sourceforge.net/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [atlas]) or by setting
    the ATLAS environment variable.
  warnings.warn(AtlasNotFoundError.__doc__)
c:\users\spencer\appdata\local\temp\easy_install-3pkkpt\numpy-1.11.0\numpy\distutils\system_info
.py:1649: UserWarning:
    Blas (http://www.netlib.org/blas/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [blas]) or by setting
    the BLAS environment variable.
  warnings.warn(BlasNotFoundError.__doc__)
c:\users\spencer\appdata\local\temp\easy_install-3pkkpt\numpy-1.11.0\numpy\distutils\system_info
.py:1652: UserWarning:
    Blas (http://www.netlib.org/blas/) sources not found.
    Directories to search for the sources can be specified in the
    numpy/distutils/site.cfg file (section [blas_src]) or by setting
    the BLAS_SRC environment variable.
  warnings.warn(BlasSrcNotFoundError.__doc__)
c:\users\spencer\appdata\local\temp\easy_install-3pkkpt\numpy-1.11.0\numpy\distutils\system_info
.py:1542: UserWarning:
    Atlas (http://math-atlas.sourceforge.net/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [atlas]) or by setting
    the ATLAS environment variable.
  warnings.warn(AtlasNotFoundError.__doc__)
c:\users\spencer\appdata\local\temp\easy_install-3pkkpt\numpy-1.11.0\numpy\distutils\system_info
.py:1553: UserWarning:
    Lapack (http://www.netlib.org/lapack/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [lapack]) or by setting
    the LAPACK environment variable.
  warnings.warn(LapackNotFoundError.__doc__)
c:\users\spencer\appdata\local\temp\easy_install-3pkkpt\numpy-1.11.0\numpy\distutils\system_info
.py:1556: UserWarning:
    Lapack (http://www.netlib.org/lapack/) sources not found.
    Directories to search for the sources can be specified in the
    numpy/distutils/site.cfg file (section [lapack_src]) or by setting
    the LAPACK_SRC environment variable.
  warnings.warn(LapackSrcNotFoundError.__doc__)
c:\python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 'define_macros'

  warnings.warn(msg)
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "c:\users\spencer\appdata\local\temp\pip-build-i4x0vy\scipy\setup.py", line 265, in <modu
le>
    setup_package()
  File "c:\users\spencer\appdata\local\temp\pip-build-i4x0vy\scipy\setup.py", line 262, in setup
_package
    setup(**metadata)
  File "c:\python27\lib\distutils\core.py", line 111, in setup
    _setup_distribution = dist = klass(attrs)
  File "c:\python27\lib\site-packages\setuptools\dist.py", line 268, in __init__
    self.fetch_build_eggs(attrs['setup_requires'])
  File "c:\python27\lib\site-packages\setuptools\dist.py", line 313, in fetch_build_eggs
    replace_conflicting=True,
  File "c:\python27\lib\site-packages\pkg_resources\__init__.py", line 836, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File "c:\python27\lib\site-packages\pkg_resources\__init__.py", line 1081, in best_match
    return self.obtain(req, installer)
  File "c:\python27\lib\site-packages\pkg_resources\__init__.py", line 1093, in obtain
    return installer(requirement)
  File "c:\python27\lib\site-packages\setuptools\dist.py", line 380, in fetch_build_egg
    return cmd.easy_install(req)
  File "c:\python27\lib\site-packages\setuptools\command\easy_install.py", line 629, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
  File "c:\python27\lib\site-packages\setuptools\command\easy_install.py", line 659, in install_
item
    dists = self.install_eggs(spec, download, tmpdir)
  File "c:\python27\lib\site-packages\setuptools\command\easy_install.py", line 842, in install_
eggs
    return self.build_and_install(setup_script, setup_base)
  File "c:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1070, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "c:\python27\lib\site-packages\setuptools\command\easy_install.py", line 1058, in run_set
up
    raise DistutilsError("Setup script exited with %s" % (v.args[0],))
distutils.errors.DistutilsError: Setup script exited with error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in       c:\users\spencer\appdata\local\temp\pip-build-i4x0vy\scipy\

编辑:添加了完整的错误信息。 这篇文章包含太多代码,无法发布。请忽略接下来的几句话,只是为了达到发布要求。


更新了注释,以便包含完整的错误信息。 - UberKoolMan
你的问题在于缺乏底层科学库,根据这个页面所述,在Windows上构建它们非常麻烦。Scipy需要整个堆栈的软件包才能正常工作,推荐的解决方案是使用预编译的软件包,就像@MattDMo的答案中所述。 - Ferdinand van Wyk
4个回答

8

如果在Windows上需要编译的模块,只需使用Christoph Gohlke的Python Extension Packages for Windows存储库。您可以从这里下载scipy,但是需要安装numpy的MKL版本,如指示的那样。

下载.whl文件后,只需使用以下命令进行安装:

pip install -U wheel_file_name.whl
< p > -U 是用于升级的,以防您已经安装了先前版本。


使用.whl文件和直接从pip安装有什么区别?我问这个问题是因为我花了将近一个小时尝试通过pip(我的意思是PyPi包)进行安装,但始终无法使其正常工作。我差点要安装Anaconda来解决这个问题,但看到了你的评论并成功安装了scipy。谢谢。 - karun_r

0
在错误信息中显示:“需要 Microsoft Visual C++ 9.0(无法找到 vcvarsall.bat)。请从 http://aka.ms/vcpython27 获取。”

0

0

从这个网站下载你的Python版本的安装程序:https://github.com/scipy/scipy/releases

在该网站上有很多要下载的文件,但是例如对于Python 2.7而言,正确的安装程序命名为scipy-0.16.1-win32-superpack-python2.7.exe。下载该文件后,您可以轻松地通过几次点击来安装Scipy。


除了最新版本的scipy是0.17.0之外,在该页面上没有可执行安装程序。 - MattDMo

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