在cygwin / win7上安装scipy

问题描述 投票:0回答:1

只是进入python,需要安装一些数字处理程序包,其中包括在Windows 7计算机上运行的cygwin环境中的scipy。注意:我不想重新制作整个发行版或母版,我只想安装scipy即可使用。 scipy网站说我应该可以使用pip来安装它。但是,当我尝试安装它时:

$  pip install scipy

...我得到一个错误:

pip._internal.exceptions.InstallationError: Command errored out with exit status 1: 

...后面跟着表面上引起错误的命令行。如果我剪切/粘贴命令行以查看导致错误的原因,则会得到大量的输出,包括以下内容:

Building wheel for Cython (setup.py): finished with status 'error'
ERROR: Failed building wheel for Cython

所以似乎无论谁制作了软件包,都要调用gcc实际compile一个依赖项-cython,在这种情况下-它实际上已经安装了:

$ cython --version
Cython version 0.29.14

我看到scipy软件包需要Cython> = 0.29.13,但是不幸的是pip似乎没有考虑到这一点。不仅以某种方式错过了cython已经存在的事实,它实际上还试图编译一个全新的cython ... @ _ @[有趣的是,cython网站说最新版本是0.28.5 ...]

FYI:

$ pip --version
pip 19.3.1 from /usr/lib/python3.6/site-packages/pip (python 3.6)

我也曾尝试从https://pypi.org/simple/scipy下载档案并解压缩,然后尝试在本地使用pip:

$ pip install --no-index --find-links=. .
Looking in links: .
Processing /usr/local/src/scipy-1.4.1
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
.
.
.
  ERROR: Could not find a version that satisfies the requirement wheel (from versions: none)
  ERROR: No matching distribution found for wheel
  ----------------------------------------
ERROR: Command errored out with exit status 1:

所以我找到了一些Windows二进制文件。试图从https://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy下载它们,我遇到了.whl文件。研究中,我发现.whl文件实际上是一个独立的轮子,可以安装w / pip。我尝试这样做:

pip install --use-wheel --no-index --find-links=. scipy-1.4.1-cp38-cp38-win32.whl

...我得到

no such option: --use-wheel

然后:

$ pip install --no-index --find-links=. *.whl
ERROR: scipy-1.4.1-cp38-cp38-win32.whl is not a supported wheel on this platform.

显然,cygwin不支持Windows distrib。

有人对此有任何经验吗?关于我还能尝试什么的任何想法?

谢谢。

python scipy cygwin cython
1个回答
0
投票

Cygwin有其自己的打包系统,~~已经有一个针对Cygwin的scipy二进制包~~。更新:我不在我的电脑旁,所以不确定,但是有些谷歌搜索建议毕竟<< not >>可能是python3-scipy软件包。见下文...安装Cygwin时,您可能会经历图形安装程序,该安装程序使您可以选择要在Cygwin中安装的软件包。您始终可以通过重新运行安装程序并选择其他软件包来安装新软件包。

但是,我发现在现有的Cygwin安装中更容易使用命令行软件包安装程序apt-cyg

您可以通过运行安装它

$ wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg $ install apt-cyg /usr/local/bin

然后运行

$ apt-cyg install python3-scipy

就是这样。

如果,根据我的更新,此操作不起作用,您也可以从源代码构建scipy,但是这需要很长时间,并且需要安装许多构建依赖项。我想,至少我不应该尝试:

$ apt-cyg install python3-cython python3-numpy python3-devel openblas-devel gcc gfortran

然后尝试

$ python3 -m pip install scipy

如果仍然无法解决,请通知我,我将添加更多更新。我已经在Cygwin上进行了很多次编译,所以我知道它可以工作,但是我正在脑子里写下这些。 

当前,PyPI不支持为Cygwin上传二进制车轮。我一直在意要进行更改,但是还没有机会。但是与此同时,许多流行的科学Python软件包在Cygwin软件包存储库中已经有软件包。

© www.soinside.com 2019 - 2024. All rights reserved.