2012-04-17 4 views
27

Ich habe Windows Vista 64Wie kann ich Python an Seite 2.7.3 32 Bit und 64 Bit auf Windows-Seite installieren

ich einige Projekte haben Python erfordern 2.7.3 64 Bit und andere Python erfordert 2.7.3 32 Bit (weil einige Erweiterungen in 64 Bit nicht funktionieren).

Wie verhindere ich, dass das Python 2.7.3 MSI-Installationsprogramm (32 oder 64 bot) die andere Version löscht.

Seite an Seite arbeitete für mich mit Python 2.7.2 ohne Probleme.

+2

Es sieht aus wie ein Installateur Fehler spezifisch 2.7.3 –

+0

als Arbeit um Sie nur eine virtuelle Maschine verwenden konnte, bis sie das Problem zu beheben, habe ich gleiches Problem – pyCthon

Antwort

26

Dies scheint für mich auf Windows 7 64 Bit zu arbeiten. Wählen Sie eine Version als Standardinstallation, z. 64 Bit, und installieren Sie es zuerst. Bevor Sie etwas anderes tun, installieren Sie die andere Version.

Geben Sie ein anderes Installationsverzeichnis an und wählen Sie im Bildschirm Register Extensions und wählen Sie Entire feature will be unavailable.

+2

Das funktioniert einwandfrei. Vielen Dank Nicola. Ich glaube, dass die "Register Extensions und wählen Entire Feature nicht verfügbar sein" ist ziemlich entscheidend, weil es entscheidet, was Ihr Standard-Python sein wird. – keithxm23

3

Sie können im Allgemeinen mehrere Python-Versionen nebeneinander installieren. Bei der Installation in Windows wird die Registrierung abgesehen von der Dateiinstallation auch aktualisiert, so dass bei jeder nachfolgenden Paket-/Tool-Installation die gesamte Python-Installation in der aktuellen m/c aufgelistet werden kann. Nur Problem tritt auf, wenn die Installation für die gleiche Version, aber unterschiedliche Bitness ist. Wie denn, der Registrierungspfad SOFTWARE \ Python \ Pythoncore \ nicht unterscheidet nicht mit dem Bitness und Bug-Fix, Sie würden die InstallPath Überlagerung am Ende und PythonPath, wenn Sie mit der Installation derselben Version mit anderen Bug-Fix sind oder unterschiedliche Bitness.

Lösung

  • Installieren Sie zwei verschiedene Versionen für unterschiedliche Bitness.
  • Bereiten Sie ein Skript vor, um den Registrierungsschlüssel jedes Mal zu aktualisieren, wenn Sie zwischen den Bit-Einstellungen wechseln möchten. Ich stolperte zufällig über ein einfaches ähnliches Skript in effbot, das den Job erledigt.

aktualisieren

Wie Ruediger Jungbeck wies darauf hin, dass er zwei verschiedene Registrierungsschlüssel sehen können, Ich erinnerte mich plötzlich eine wichtige Änderung Post Vista. Auf einem 64-Bit-System, um den Zugriff auf die Registrierungsschlüssel von 32-Bit- und 64-Bit-Anwendungen zu ermöglichen, teilt Windows die Registrierung an wichtigen Knoten auf. Für 64-Bit-Anwendungen ist dies der native Registrierungspfad, für 32-Bit-Anwendungen jedoch der WoW6432Node. Wenn Sie also eine 32-Bit-Version von Python \ Tools \ extension ausführen, wird nur der Wow6432Node angezeigt. 64-Bit-Anwendungen sehen nur den nativen Knoten. Es gibt APIs für den Zugriff auf die Cross-Bisseness-Knoten, aber das ist außerhalb des Bereichs dieser Frage. Zusammenfassend behandelt Windows intelligent 32- und 64-Bit-Anwendungen, indem der Knoten aufgeteilt wird, wodurch 32-Bit-Erweiterungen transparent auf die 32-Bit-Python-Installation zugreifen können.

+0

Ich kann 2 Unterschiede finden t Werte. Eine in HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 zeigt auf die 64-Bit-Version und eine HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ 2.7 verweist auf die 32-Bit-Version, so würde ich erwarten, dass jede Bitness ihre Python findet. Aber warum sieht der Installer beides? –

+0

Aha .... Ich habe komplett vergessen ... Ich werde meine Antwort aktualisieren – Abhijit

+0

Ich habe Ihr Update gesehen, aber das löst mein Problem nicht. Ich möchte, dass beide Bitties gleichzeitig (auf demselben System) installiert sind. –

1

Während der Installation von 2. Python, für Registererweiterungen wählen Sie die Option "Gesamte Funktion wird nicht verfügbar sein". Python Installationspfad 64 in Registrierung wird \ Python Software \ PythonCore \ 2: "HKLM: Software \ Python \ PythonCore \ 2.7 \ InstallPath"

Python 64 bit PythonPath wird in „HKLM sein.7 \ PythonPath "

Python 32 Installationspfad in Registrierung wird "HKLM: Software \ Wow6432Node \ Python \ PythonCore \ 2.7 \ InstallPath"

Python 32 bit PythonPath in wird" HKLM: Software \ Wow6432Node \ Python \ PythonCore \ 2.7 \ PythonPath“

Customize Python with disabling extions