webentwicklung-frage-antwort-db.com.de

Installation von SetupTools unter 64-Bit-Windows

Ich führe Python 2.7 unter Windows 7 64-Bit aus, und wenn ich das Installationsprogramm für setuptools ausführe, wird mir mitgeteilt, dass Python 2.7 nicht installiert ist Spezifische Fehlermeldung ist:

`Python Version 2.7 required which was not found in the registry`

Meine installierte Version von Python ist:

`Python 2.7 (r27:82525, Jul  4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32`

Ich schaue auf die Setuptools-Site und erwähne keine Installer für 64-Bit-Windows. Habe ich etwas verpasst oder muss ich dies von der Quelle installieren?

133
quanticle

Anscheinend (nach 64- und 32-Bit-Problemen unter OS X) gibt es ein Fehler im Windows-Installationsprogramm . Ich bin über diese Problemumgehung gestolpert, was helfen könnte - im Grunde erstellen Sie Ihren eigenen Registrierungswert HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath und kopieren Sie den InstallPath-Wert von HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath. Weitere Informationen finden Sie in der Antwort unten.

Beachten Sie in diesem Fall, dass setuptools möglicherweise nur 32-Bit-Bibliotheken installiert.

HINWEIS: Die folgenden Antworten enthalten weitere Informationen. Lesen Sie sie daher auch.

91
Dave Everitt

Problem: Sie haben 64-Bit-Python und ein 32-Bit-Installationsprogramm. Dies führt zu Problemen bei Erweiterungsmodulen.

Die Gründe, warum das Installationsprogramm nicht findet Python ist die transparente 32-Bit-Emulation von Windows 7. 64-Bit- und 32-Bit-Programme schreiben in verschiedene Teile der Windows-Registrierung.

64-Bit: HKLM|HKCU\SOFTWARE\

32-Bit: HKLM|HKCU\SOFTWARE\wow6432node\.

Dies bedeutet, dass das 64-Bit-Installationsprogramm Python schreibt in HKLM\SOFTWARE\Python, aber das 32-Bit-Installationsprogramm von setuptools betrachtet HKLM\SOFTWARE\wow6432node\Python (dies wird von Windows automatisch erledigt, Programme bemerken es nicht). Dies ist erwartetes Verhalten und kein Fehler.

Normalerweise haben Sie folgende Möglichkeiten:

  • die "saubere" Art: Verwenden Sie 32-Bit Python), wenn Sie 32-Bit-Module oder -Erweiterungen verwenden müssen
  • die andere "saubere" Art: Verwenden Sie nur 64-Bit-Installationsprogramme, wenn Sie 64-Bit verwenden Python (siehe unten)
  • was die Antwort oben nahelegt: Kopieren HKLM\SOFTWARE\Python bis HKLM\SOFTWARE\wow6432node\Python, aber dies wird Probleme mit Binärdistributionen verursachen, da 64-Bit Python kann nicht geladen werden 32- Bit kompilierte Module (NICHT tun!)
  • installiere reine Python Module mit setuptools anstelle des distutils Installers (easy_install oder pip)

Für setuptools selbst können Sie beispielsweise kein 32-Bit-Installationsprogramm für 64-Bit verwenden Python, da es Binärdateien enthält. Es gibt jedoch ein 64-Bit-Installationsprogramm -bit installer at http://www.lfd.uci.edu/~gohlke/pythonlibs/ (hat auch viele Installer für andere Module) . Heutzutage viele Pakete auf PyPi haben Binärdistributionen, so dass Sie sie über pip installieren können.

142
leoluk

Ich habe eine Registrierungsdatei (.reg) erstellt, die die Registrierung automatisch für Sie ändert. Es funktioniert, wenn es in "C:\Python27" installiert ist:

2-Bit-Version herunterladenHKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\wow6432node\

64-Bit-Version herunterladenHKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\

69
Joe DF

Ja, Sie haben Recht, das Problem liegt bei 64-Bit Python und 32-Bit-Installationsprogramm für Setuptools.

Die beste Möglichkeit, 64-Bit-Setuptools unter Windows zu installieren, besteht darin, ez_setup.py nach C:\Python27\Scripts herunterzuladen und auszuführen. Es wird die entsprechende 64-Bit-.Egg-Datei für setuptools herunterladen und für Sie installieren.

Quelle: http://pypi.python.org/pypi/setuptools

P.S. Ich würde empfehlen, keine 64-Bit-.exe-Setuptools-Installationsprogramme von Drittanbietern zu verwenden oder die Registrierung zu manipulieren

28
arainchi

Holen Sie sich die Datei register.py from this Gist . Speichern Sie es auf Ihrem C- oder D-Laufwerk, und rufen Sie CMD auf, um es auszuführen:

'python register.py'

Dann können Sie es installieren.

9
nickleefly

Erstellen Sie eine Datei mit dem Namen python2.7.reg (Registrierungsdatei) und fügen Sie diesen Inhalt ein:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help\MainPythonDocumentation]
@="C:\\Python27\\Doc\\python26.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath]
@="C:\\Python27\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath\InstallGroup]
@="Python 2.7"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath]
@="C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk"

Und stellen Sie sicher, dass jeder Weg richtig ist!

Dann starte es und fertig :)

9
MichaelvdNet

Für 64-Bit Python unter Windows download ez_setup.py und starte es; es lädt die entsprechende .Egg-Datei herunter und installiert sie für Sie.

Zum Zeitpunkt des Schreibens unterstützt das EXE-Installationsprogramm keine 64-Bit-Versionen von Python für Windows, aufgrund eines Kompatibilitätsproblems mit dem distutils-Installationsprogramm .

3
Constantin

Ich habe das oben Genannte ausprobiert und das Hinzufügen der Registrierungsschlüssel zur LOCALMACHINE brachte den Job nicht zustande. Also, falls Sie noch nicht weiterkommen, versuchen Sie dies.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Python]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\Help]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\Help\Main Python Documentation] @ = "C:\Python27\Doc\python272.chm"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\InstallPath] @ = "C:\Python27 \"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\InstallPath\InstallGroup] @ = "Python 2.7"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\Modules]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\PythonPath] @ = "C:\Python27\Lib; C:\Python27\DLLs; C:\Python27\Lib\lib-tk"

Kopieren Sie den obigen Code in den Editor und speichern Sie ihn unter dem Namen Python27.reg. Führen Sie nun die Datei wie in den obigen Antworten beschrieben aus und führen Sie sie zusammen. (Stellen Sie sicher, dass die Pfade der Python Installation gemäß Ihrer Installation korrigiert sind.

Es macht einfach, was die obigen Antworten für einen lokalen Computer für den aktuellen Benutzer vorschlagen.

1
Shaswat Rungta

Um Windows-Installationsprogrammen zu ermöglichen, das installierte Verzeichnis Python in Windows 7 zu finden, ODER ändern Sie, in welcher Python Installation ein Installationsprogramm installiert werden soll Fügen Sie den installierten Pfad zum Registrierungsschlüssel InstallPath (Standard) hinzu :

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.X\InstallPath

Dabei ist " X " die Python Version (dh 2.5, 2.6 oder 2.7).

1
monkut

Hier ist ein Link zu einem anderen Beitrag/Thread. Ich konnte dieses Skript ausführen, um die Registrierung von Python 2.7 zu automatisieren. (Stellen Sie sicher, dass Sie es von Python 2.x .exe Aus ausführen Ich möchte mich registrieren!)

Um Python 3.x zu registrieren, musste ich die print -Syntax ändern und winreg importieren (anstelle von _winreg) Und dann = ausführen Python 3 .exe.

https://stackoverflow.com/a/29633714/356889

0