如何使用cygwin终端在windows机器上安装python



我正试图通过cygwin在windows机器上安装python,以便使用只能在linux环境中使用python实现的统计程序。

我运行了setup-x86_64.exe并安装了所有与python相关的cygwin包,试图安装python,但当我打开一个终端并键入python时,我只得到

$ python
-bash: python: command not found

这对我尝试的所有python命令都是一样的,所以安装没有发生。然而,我找到了一个指向Python-2.7.9的路径,其中似乎包含从源代码构建python所需的文件。

当我运行./configure时,它是成功的,但当我输入make时,它失败了,原因是:

File "build/temp.cygwin-1.7.35-x86_64-2.7/libffi/fficonfig.py", line 33, in   <module>                                                                               
ffi_sources += ffi_platforms['X86_WIN64']
KeyError: 'X86_WIN64'
Makefile:488: recipe for target 'sharedmods' failed
make: *** [sharedmods] Error 1

有人知道make为什么不起作用吗?

./configure --help中的选项我不熟悉,这些选项中的任何一个都能成功安装吗?

任何想法都将不胜感激,谢谢。

Cygwin附带了一个名为setup.exesetup-x86_64.exe的安装程序。只需运行它并在搜索框中键入python即可。然后让它为你安装。

python language interpreter是您需要的基本软件包。

所以,这个问题已经存在3年了,但这个错误仍然发生在最新版本的Python 2(使用2.7.132.7.15测试)中

我能够通过修改构建目录中的以下文件来构建python。

--- build/temp.cygwin-2.11.1-x86_64-2.7/libffi/fficonfig.py~    2018-11-03 14:51:53.290000000 -0400
+++ build/temp.cygwin-2.11.1-x86_64-2.7/libffi/fficonfig.py     2018-11-03 14:53:41.793000000 -0400
@@ -9,6 +9,7 @@
     'X86': ['src/x86/ffi.c', 'src/x86/sysv.S', 'src/x86/win32.S'],
     'X86_FREEBSD': ['src/x86/ffi.c', 'src/x86/freebsd.S'],
     'X86_WIN32': ['src/x86/ffi.c', 'src/x86/win32.S'],
+    'X86_WIN64': ['src/x86/ffi.c', 'src/x86/win64.S'],
     'SPARC': ['src/sparc/ffi.c', 'src/sparc/v8.S', 'src/sparc/v9.S'],
     'ALPHA': ['src/alpha/ffi.c', 'src/alpha/osf.S'],
     'IA64': ['src/ia64/ffi.c', 'src/ia64/unix.S'],

源文件,特别是src/x86/win64.S,存在于源树中。出于某种原因,./configure似乎没有正确地将该选项添加到fficonfig.py文件中的字典中,这导致了问题中发布的KeyError。在进行了这个修改之后,makemake install成功地完成了,除了正常的Cygwin包之外,我还可以安装另一个版本的python。

我还不确定为什么会发生这种情况,但我想我会尝试为实际提出的问题提供一个解决方案,而不仅仅是告诉询问者使用包管理器安装预编译版本。

由于从源代码构建Python被认为是个坏主意,我认为我的Cygwin坏了。我试图按照Cygwin网站上的说明卸载Cygwin,但由于权限问题(我使用的是大学提供的Windows机器),我无法将其删除。我最后的办法是运行Cygwin安装向导setup-x86_64.exe并卸载所有软件包,然后再次运行该向导并再次选择必要的软件包,就像从新软件包开始一样。神奇的是,从头开始安装所需的软件包解决了这个问题,现在我正在Cygwin终端上运行Python,没有任何错误。

如果您想在Cygwin上运行Python,您可能需要从源代码构建它。

  • 下载源
  • 将其解压缩到以后可以删除的目录,例如:build
  • 运行Cygwin,类型:cd /path/to/build
  • 运行./configure --help并阅读有关所需选项的帮助
  • ./configure #options
  • make

最新更新