2012-03-13 115 views

回答

21

您應該安裝Python的32位,或者使用numpy的包蟒蛇64位來自this unofficial site

+0

即使我有64位版本的Windows 7,我仍然必須安裝32位numpy軟件包。對我而言,numpy是http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy的非官方版本之一,即numpy-MKL-1.9.1.win32-py2.7.exe。 – 2015-01-05 02:47:42

+0

您可能擁有一個32位版本的Python。您可以在Windows 64位上安裝64位和32位版本的Python。 – Dikei 2015-01-05 10:46:55

2

你必須掌握python和numpy的版本。兩者都需要是32位或64位。

53

這種情況並不少見有依賴或尋找一個安裝程序(例如NumPy的)先前安裝的64位核心應用(例如Python的64)。問題和解決方案很容易解釋。

問題 IMHO這是對已經安裝的64位應用程序了的顯影劑的一部分的錯誤通過將在32位的節點中的註冊表項,而不是(或除了)64位節點。實際上,安裝程序的開發人員也可以編碼它以查找這兩個位置,而不僅僅假設64位應用程序註冊表項將位於\ Wow6432Node中,以避免原始開發人員的疏忽。然而,如果安裝程序根據註冊表項的位置決定應用程序是32位還是64位(這不是一個好主意),這可能會產生問題。

系統有時用64位applicaitons一個註冊表項將在...

HKLM\SOFTWARE\[applicaion name] 

然而,在...

HKLM\SOFTWARE\Wow6432Node\[application name] 

SOLUTION 不創建相應的註冊表項中創建用任何應用程序解決此問題的最簡單方法是...

  1. 打開註冊表編輯器(開始 - >運行 - >註冊表編輯器)
  2. 定位到HKEY_LOCAL_MACHINE \ SOFTWARE \ [應用程序了名(在這種情況下,「巨蟒」)
  3. 右鍵單擊應用程序了(「巨蟒」 )
  4. 選擇「導出」,並保存文件爲「[應用程序名稱]的.reg」(「Python.reg」)
  5. 打開與您選擇的編輯器中保存的文件(我喜歡記事本+ +)的地方
  6. 在在「[HKEY_LOCAL_MACHINE \ SOFTWARE」之後但在\ [應用程序名稱](「\ Python」)之前的每個條目,添加「\ Wow6432Node」(顯然沒有引號)
  7. 將編輯後的文件保存爲「[應用程序名稱] _64.reg」(Python_64.reg)
  8. 關閉編輯器並雙擊新創建的文件,在註冊表編輯器驗證彈出框中回答「是」。

現在您應該在HKLM \ SOFTWARE \ [應用程序名稱]和HKLM \ SOFTWARE \ Wow6432Node \ [應用程序名稱]中重複條目。或者,您可以手動創建HKLM \ SOFTWARE \ Wow6432Node \ [應用程序名稱]下的所有缺失條目,以匹配HKLM \ SOFTWARE \ [應用程序名稱]中的內容,但這確實很漫長。

當您重新運行Numpy安裝程序時,它現在可以正確檢測到您的64位Python安裝。

CAVEAT 有一個告誡,所有這一切。

HKLM \ SOFTWARE和HKLM \ SOFTWARE \ Wow6432Node中的重複條目不是問題,不會影響應用程序的正常運行;但是,由於開發人員未能創建Wow6432Node註冊表項,因此未來任何修改註冊表項的更新都不太可能在兩個位置都被填充。您有時可能不得不再次執行此操作,或者手動將新的註冊表項添加到Wow6432Node以保持它們的一致性。您可能遇到的一個例子是安裝Python模塊,該模塊在HKLM \ SOFTWARE \ Python \ PythonCore \ 2.x \ Modules \下添加一個條目。您只能導出添加的條目並編輯.reg文件以僅包含「\ Wow6432Node」,導出整個\ Python節點並編輯所有條目(導入編輯過的.reg文件將覆蓋現有條目),或者只是手動添加新條目 - 對你來說似乎更簡單。

+0

這對PIL安裝程序非常合適。謝謝! – alves 2012-09-27 09:46:40

+18

+1稍微比使用regedit更容易,文本編輯器是以管理員身份運行cmd.exe窗口並使用reg副本HKLM \ SOFTWARE \ Python HKLM \ SOFTWARE \ Wow6432Node \ Python/s'。 – 2013-09-06 17:54:36

+0

謝謝@WanderingLogic!在Win 7 64bit上運行並且安裝Numpy-MKL-1.8.0b2 – 2013-09-20 21:23:48

7

此問題還影響32位Python上的32位numpy。

的原因是numpy的安裝程序會假定您選擇了「爲所有用戶安裝」當你安裝了Python,即該Python安裝程序使用註冊表的計算機範圍HKEY_LOCAL_MACHINE一部分。 如果改爲選擇「爲我安裝只」,這些註冊表設置都在註冊表的用戶可寫部分,* HKEY_USERS_ *(又名HKEY_CURRENT_USER)。 numpy安裝程序不會在那裏,因此認爲Python沒有安裝。

解決方案: 複製的關鍵HKEY_CURRENT_USER \ SOFTWARE \ Python的HKEY_LOCAL_MACHINE \ SOFTWARE所有子鍵對應的地方(你可以用出口從註冊表編輯器做到這一點,然後找到&替換文本文件,然後導入)。或者,重新安裝Python並選擇「所有用戶」。

+1

沒有'HKEY_CURRENT_USER \ Software \ Python' – 2015-01-27 18:35:38

0

從您的系統中卸載Python並重新安裝一次。然後從這個網站下載numpy的:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

如果你想檢查numpy的版本您的系統上,寫上你的IDE這下面的代碼:

import numpy 
numpy.version.version 

希望這將有助於!

1

你應該安裝python 2.7 32bit。數字python窗口版本都是32位。

0
  1. 運行安裝程序

  2. 單擊取消時錯誤顯示出來

  3. 點擊查看詳細

  4. 它會在列表Execute: C:\.........\numpy-1.7.1-sse3.exe的最後說,進入該文件夾,搶該文件並將其放入C:\python27\

  5. 一旦它在所述文件夾中,從該位置運行它。安裝程序將運行並找到它。

相關問題