簡體   English   中英

如何使用cygwin終端在Windows機器上安裝python?

[英]How do I install python on a windows machine using a cygwin terminal?

我試圖在Windows機器上通過cygwin安裝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是您需要的基本軟件包。

由於據說從源代碼構建Python是一個壞主意,因此我認為Cygwin已損壞。 我嘗試按照Cygwin網站上的說明卸載Cygwin,但由於權限困難,我無法將其刪除(我使用的是大學提供的Windows計算機)。 我的最后setup-x86_64.exe是運行Cygwin安裝向導setup-x86_64.exe並卸載所有軟件包,然后再次運行該向導並再次選擇必要的軟件包,就像從新安裝一樣。 奇跡般地,從頭開始安裝所需的軟件包解決了該問題,現在我可以通過Cygwin終端運行Python,沒有任何錯誤。

因此,這個問題已有3年歷史了,但是對於最新版本的Python 2(經2.7.132.7.15測試),仍然會發生此錯誤。

我可以通過修改build目錄中的以下文件來構建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文件中的字典中,這會導致在問題中發布fficonfig.py 進行此修改后, makemake install成功完成,除了正常的Cygwin軟件包之外,我還能夠安裝python的替代版本。

我還不確定為什么會發生這種情況,但是我想我會嘗試提供一個解決實際問題的方法,而不是僅僅告訴發問者使用軟件包管理器來安裝預編譯的版本。

如果要在Cygwin上運行Python,則可能需要從源代碼構建它。

  • 下載源
  • 將其解壓縮到您以后可以刪除的目錄中,例如: build
  • 運行Cygwin,鍵入: cd /path/to/build
  • 運行./configure --help並閱讀有關所需選項的幫助
  • ./configure #options
  • make

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM