【问题标题】:SciPy on Windows with Python 2.7 install issues带有 Python 2.7 安装问题的 Windows 上的 SciPy
【发布时间】:2016-12-27 20:18:33
【问题描述】:

想知道是否有人遇到过类似的问题并已经有了解决方案?使用 Windows 7。

C:\Python27\Scripts>pip install SciPy
Collecting SciPy
  Using cached scipy-0.18.0.tar.gz
Installing collected packages: SciPy
  Running setup.py install for SciPy ... error
    Complete output from command c:\python27\python.exe -u -c "import setuptools
, tokenize;__file__='c:\\users\\foo\\appdata\\local\\temp\\pip-build-r3jpxr\\
SciPy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().r
eplace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\foo\appda
ta\local\temp\pip-efo9to-record\install-record.txt --single-version-externally-m
anaged --compile:

    Note: if you need reliable uninstall behavior, then install
    with pip instead of using `setup.py install`:

      - `pip install .`       (from a git repo or downloaded source
                               release)
      - `pip install scipy`   (last SciPy release on PyPI)


    lapack_opt_info:
    openblas_lapack_info:
      libraries openblas not found in ['c:\\python27\\lib', 'C:\\', 'c:\\python2
7\\libs']
      NOT AVAILABLE

    lapack_mkl_info:
    mkl_info:
      libraries mkl,vml,guide not found in ['c:\\python27\\lib', 'C:\\', 'c:\\py
thon27\\libs']
      NOT AVAILABLE

      NOT AVAILABLE

    atlas_3_10_threads_info:
    Setting PTATLAS=ATLAS
    c:\python27\lib\site-packages\numpy\distutils\system_info.py:639: UserWarnin
g: Specified path C:\projects\windows-wheel-builder\atlas-builds\atlas-3.11.38-s
se2-64\lib is invalid.
      warnings.warn('Specified path %s is invalid.' % d)
    <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
      NOT AVAILABLE

    atlas_3_10_info:
    <class 'numpy.distutils.system_info.atlas_3_10_info'>
      NOT AVAILABLE

    atlas_threads_info:
    Setting PTATLAS=ATLAS
    <class 'numpy.distutils.system_info.atlas_threads_info'>
      NOT AVAILABLE

    atlas_info:
    <class 'numpy.distutils.system_info.atlas_info'>
      NOT AVAILABLE

    c:\python27\lib\site-packages\numpy\distutils\system_info.py:1548: UserWarni
ng:
        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__)
    lapack_info:
      libraries lapack not found in ['c:\\python27\\lib', 'C:\\', 'c:\\python27\
\libs']
      NOT AVAILABLE

    c:\python27\lib\site-packages\numpy\distutils\system_info.py:1559: UserWarni
ng:
        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__)
    lapack_src_info:
      NOT AVAILABLE

    c:\python27\lib\site-packages\numpy\distutils\system_info.py:1562: UserWarni
ng:
        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__)
      NOT AVAILABLE

    Running from scipy source directory.
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\users\foo\appdata\local\temp\pip-build-r3jpxr\SciPy\setup.py",
 line 415, in <module>
        setup_package()
      File "c:\users\foo\appdata\local\temp\pip-build-r3jpxr\SciPy\setup.py",
 line 411, in setup_package
        setup(**metadata)
      File "c:\python27\lib\site-packages\numpy\distutils\core.py", line 135, in
 setup
        config = configuration()
      File "c:\users\foo\appdata\local\temp\pip-build-r3jpxr\SciPy\setup.py",
 line 335, in configuration
        config.add_subpackage('scipy')
      File "c:\python27\lib\site-packages\numpy\distutils\misc_util.py", line 10
03, in add_subpackage
        caller_level = 2)
      File "c:\python27\lib\site-packages\numpy\distutils\misc_util.py", line 97
2, in get_subpackage
        caller_level = caller_level + 1)
      File "c:\python27\lib\site-packages\numpy\distutils\misc_util.py", line 90
9, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy\setup.py", line 15, in configuration
        config.add_subpackage('linalg')
      File "c:\python27\lib\site-packages\numpy\distutils\misc_util.py", line 10
03, in add_subpackage
        caller_level = 2)
      File "c:\python27\lib\site-packages\numpy\distutils\misc_util.py", line 97
2, in get_subpackage
        caller_level = caller_level + 1)
      File "c:\python27\lib\site-packages\numpy\distutils\misc_util.py", line 90
9, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy\linalg\setup.py", line 20, in configuration
        raise NotFoundError('no lapack/blas resources found')
    numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

    ----------------------------------------
Command "c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\
\users\\foo\\appdata\\local\\temp\\pip-build-r3jpxr\\SciPy\\setup.py';exec(co
mpile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __
file__, 'exec'))" install --record c:\users\foo\appdata\local\temp\pip-efo9to
-record\install-record.txt --single-version-externally-managed --compile" failed
 with error code 1 in c:\users\foo\appdata\local\temp\pip-build-r3jpxr\SciPy\

编辑1,尝试pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl,但遇到了奇怪的问题,

C:\Python27\Scripts>pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl
Requirement 'scipy-0.18.0-cp27-cp27m-win_amd64.whl' looks like a filename, but t
he file does not exist
Processing c:\python27\scripts\scipy-0.18.0-cp27-cp27m-win_amd64.whl
Exception:
Traceback (most recent call last):
  File "c:\python27\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "c:\python27\lib\site-packages\pip\commands\install.py", line 299, in run

    requirement_set.prepare_files(finder)
  File "c:\python27\lib\site-packages\pip\req\req_set.py", line 370, in prepare_
files
    ignore_dependencies=self.ignore_dependencies))
  File "c:\python27\lib\site-packages\pip\req\req_set.py", line 587, in _prepare
_file
    session=self.session, hashes=hashes)
  File "c:\python27\lib\site-packages\pip\download.py", line 798, in unpack_url
    unpack_file_url(link, location, download_dir, hashes=hashes)
  File "c:\python27\lib\site-packages\pip\download.py", line 705, in unpack_file
_url
    unpack_file(from_path, location, content_type, link)
  File "c:\python27\lib\site-packages\pip\utils\__init__.py", line 599, in unpac
k_file
    flatten=not filename.endswith('.whl')
  File "c:\python27\lib\site-packages\pip\utils\__init__.py", line 482, in unzip
_file
    zipfp = open(filename, 'rb')
IOError: [Errno 2] No such file or directory: 'C:\\Python27\\Scripts\\scipy-0.18
.0-cp27-cp27m-win_amd64.whl'

【问题讨论】:

  • 看起来您缺少一些在安装 scipy 之前需要的库。我会推荐pip install conda,然后是conda install scipy
  • 感谢 James,conda 的问题是它不能很好地与 matplotlib 配合使用,请参阅此处的讨论。 stackoverflow.com/questions/39059732/…,如果你有一些解决方案可以让 conda 和 matplotlib 一起工作,感谢分享。

标签: python windows python-2.7 windows-7 scipy


【解决方案1】:

某些包,例如 Scipy,需要使用 pip 构建编译器。 Windows 不附带编译器,因此您需要下载 Windows 可以使用的 scipy 二进制文件。

来自加州大学欧文分校的一位名叫 Christopher Gohlke 的出色人士开发了这些 Windows 二进制文件。你可以找到他们here

注意:如果您没有安装 Numpy,则无法安装 SciPy。您还需要下载 Numpy 二进制文件(也可以找到 here)。只需按照以下步骤下载 numpy 模块,就像下载 scipy 模块一样。

您安装哪个链接取决于您是 64 位还是 32 位版本的 python,如果您已将它安装到 PATH,您可以通过在命令行上使用 python 命令来检查它。这是它的可视化:

C:\Users\Bobby>python
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:40:30) [MSC v.1500 64 bit (AMD64)] on win32

您可以在括号中找到您的版本。如您所见,我正在运行 64 位版本的 python。所以我会下载“scipy-0.18.0-cp27-cp27m-win_amd64.whl”文件,它假设我在 64 位版本的 python(由 amd64 表示)上运行 python 2.7(由 cp27 表示)。

注意:还要确保 pip 已更新。您可以使用以下命令对其进行更新:

C:\Users\Bobby\Downloads>pip install --upgrade pip

下载 SciPy 二进制文件后,将工作目录更改为下载文件夹并运行 pip,但在下载中使用 .whl 文件。这是它的可视化:

C:\Users\Bobby>cd Downloads
C:\Users\Bobby\Downloads>pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl
Processing c:\users\bobby\downloads\scipy-0.18.0-cp27-cp27m-win_amd64.whl
Installing collected packages: scipy
Successfully installed scipy-0.18.0

【讨论】:

  • 谢谢罗伯特,所以我不仅要安装pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl,还需要用你说的方法重新安装numpy
  • 只有在 Python 2.7 上运行 64 位版本的 python 时才安装 pip install "scipy-0.18.0-cp27-cp27m-win_amd64.whl"。否则,它会给你一个讨厌的错误。但是,是的。如果您尚未安装 numpy,请使用相同的方法安装它。您需要 numpy 才能下载 scipy。否则,你也会得到一个严重的错误。
  • 谢谢罗伯特,尝试了安装scipy的命令,但是遇到了奇怪的问题,详细可以参考edit 1部分,你觉得和numpy有关吗?
  • 根据编辑,您的 .whl 文件似乎不在您的脚本文件夹中。您必须将工作目录更改为 .whl 文件所在的文件夹。下载后我没有触摸我的 .whl 文件,因此我将目录更改为我的下载文件夹。希望这会有所帮助。
  • 谢谢罗伯特。我需要在某处下载此文件scipy-0.18.0-cp27-cp27m-win_amd64.whl 吗?我试图搜索但找不到它。我以为 pip 可能会为我下载,但似乎我不正确。
猜你喜欢
  • 2017-10-20
  • 1970-01-01
  • 2017-06-28
  • 2015-12-08
  • 2011-07-04
  • 1970-01-01
  • 2012-09-19
  • 1970-01-01
  • 2014-02-17
相关资源
最近更新 更多