2012-04-17 194 views
27

我具有Windows Vista 64如何安裝Python 2.7.3 32位和64位Windows上並排

我需要的Python 2.7.3 64位的一些項目和其他需要的Python 2.7.3 32位(因爲一些擴展在64位中不起作用)。

如何防止Python 2.7.3 MSI安裝程序(32或64機器人)刪除其他版本。

並排使用Python 2.7.2爲我工作沒有問題。

+2

它看起來像具體到2.7.3 – 2012-09-16 15:39:03

+0

作爲工作你周圍可以只使用一個虛擬機,直到他們解決這個問題的安裝錯誤,我有同樣的問題 – pyCthon 2012-09-16 16:44:28

回答

26

這似乎在Windows 7 64位上適用於我。選擇一個版本作爲您的默認安裝,例如64位,並先安裝它。在做其他事情之前安裝其他版本。

指定不同的安裝目錄,並在Customize Python 2.7.3屏幕選擇Register Extensions和選擇Entire feature will be unavailable

+2

這很好。非常感謝Nicola。我相信「註冊擴展和選擇整個功能將不可用」是非常關鍵的,因爲它決定哪些將是您的默認python。 – keithxm23 2013-11-18 17:52:08

3

通常可以並排安裝多個Python版本。在Windows中安裝時,除了文件安裝之外,還會更新註冊表,以便任何後續的軟件包/工具安裝都可以枚舉當前m/c中的所有Python安裝。 如果安裝是針對相同版本,但是位數不同,則只會出現問題。 作爲,因爲註冊表路徑 SOFTWARE \ Python的\ Pythoncore \不與位元和錯誤修復區別,你最終會覆蓋在 安裝路徑PYTHONPATH如果你安裝相同的版本不同的漏洞修復或不同的位數。

  • 安裝用於不同位數的兩個不同版本。
  • 準備一個腳本以在每次要在位數之間切換時更新註冊表項。我偶然發現了effbot中的一個簡單的類似腳本,它可以完成Job。

更新

由於Ruediger Jungbeck指出,他可以看到兩個不同的註冊表項,我突然想起一個重要的改變後Vista系統。在64位系統上,爲了能夠從32位和64位應用程序訪問註冊表項,Windows在重要節點處拆分了註冊表。對於64位應用程序,它的本地註冊表路徑,但對於32位應用程序,它是WoW6432Node。所以當運行一個32位版本的Python \ Tools \擴展時,它只會看到Wow6432Node。 64位應用程序將只能看到本地節點。有API可以訪問跨位字節點,但這不在此問題的範圍之內。因此,總而言之,Windows通過分割允許32位擴展來透明訪問32位Python安裝的節點,智能地處理32位和64位應用程序。

+0

我可以找到2 differen t值。一個在HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7中指向64位版本和一個指向32位版本的HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.7,所以我期望每個位都能找到它是Python。但爲什麼安裝程序看到兩者? – 2012-04-17 10:25:46

+0

啊哈....我完全忘記了...我會更新我的回答 – Abhijit 2012-04-17 11:01:30

+0

我已經看到您的更新,但這並不影響我的問題。我想同時安裝兩個位(在同一個系統上) – 2012-04-27 17:42:50

1

在安裝2nd python時,對於註冊擴展選擇「整個功能將不可用」選項。 的Python 64安裝路徑將在註冊表 「HKLM:SOFTWARE \的Python \ PythonCore \ 2.7 \安裝路徑」

Python的64位PYTHONPATH將在 「HKLM:SOFTWARE \的Python \ PythonCore \ 2。7 \ PYTHONPATH 「

的Python 32安裝路徑將在註冊表 」HKLM:SOFTWARE \ Wow6432Node \的Python \ PythonCore \ 2.7 \安裝路徑「

Python的32位PYTHONPATH將在 」 HKLM:SOFTWARE \ Wow6432Node \ Python的\ PythonCore \ 2.7 \ PYTHONPATH」

Customize Python with disabling extions

相關問題