Ich hatte dieses Problem mit Python 3.4.1 unter Windows 7 x64 , und leider hatten die benötigten Pakete keine geeignete Exe oder Räder, die ich verwenden konnte. Dieses System erfordert einige "Problemumgehungen", die unten aufgeführt sind (und TLDR unten ).
Unter Verwendung der Informationen in der obigen Antwort von Jaxrtech stellte ich fest, dass ich Visual Studio C ++ 2010 benötigte (sys.version return MSC v.1600), und installierte Visual C ++ 2010 Express über den Link in seiner Antwort, der http://go.microsoft lautet .com /? linkid = 9709949 . Ich habe alles mit Updates installiert, aber wie Sie unten lesen können, war dies ein Fehler. Zu diesem Zeitpunkt sollte nur die Originalversion von Express installiert sein (nichts aktualisiert).
vcvarsall.bat war jetzt vorhanden, aber bei der Installation des Pakets ist ein neuer Fehler aufgetreten query_vcvarsall raise ValueError(str(list(result.keys())))ValueError: [u'path']
. Es gibt andere Fragen zum Stapelüberlauf mit diesem Fehler, z. B. Fehler beim Erstellen / Installieren des C-Moduls für Python 2.7
Aus dieser Antwort habe ich festgestellt, dass 2010 Express nur 32-Bit-Compiler installiert. Um 64-Bit-Compiler (und andere) zu erhalten, müssen Sie das Windows 7.1 SDK installieren. Siehe http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
Dies würde für mich jedoch nicht installiert werden, und das Installationsprogramm hat den Fehler zurückgegeben installation failed with return code 5100
. Ich habe die Lösung unter folgendem Link gefunden: http://support.microsoft.com/kb/2717426 . Kurz gesagt, wenn neuere Versionen von x86 und x64 Microsoft Visual C ++ 2010 Redistributable installiert werden, stehen diese in Konflikt mit denen im SDK-Installationsprogramm und müssen zuerst deinstalliert werden.
Das SDK wurde dann installiert, aber ich bemerkte, dass vcvars64.bat noch nicht in C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
seinen Unterordnern vorhanden war. vcvarsall.bat führt die vcvars64-Batchdatei aus. Ohne sie würde das Python-Paket immer noch nicht installiert werden (ich habe den Fehler vergessen, der zu diesem Zeitpunkt angezeigt wurde).
Ich habe dann hier einige Anweisungen gefunden: http://www.cryptohaze.com/wiki/index.php/Windows_7_Build_Setup#Download_VS_2010_and_Windows_SDK_7.1
Nach den Anweisungen hatte ich bereits Express und 7.1 SDK installiert und SDK 7.1 SP1 installiert Fix der fehlenden Header-Datei. Ich habe dann manuell vcvars64.bat mit dem Inhalt erstellt CALL setenv /x64
. Ich werde all diese Anweisungen hier einfügen, damit sie nicht verloren gehen.
Schritt 1 ist das Herunterladen von Visual Studio Express 2010.
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
ist ein guter Anfang. Laden Sie das Installationsprogramm herunter und führen Sie es aus (vc_web.exe). Sie benötigen keinen zusätzlichen SQL 2008-Download.
Sie benötigen auch das Windows SDK (derzeit 7.1) für die 64-Bit-Compiler - es sei denn, Sie möchten nur 32-Bit-Builds erstellen, die nicht vollständig unterstützt werden ...
http://www.microsoft.com/en-us/download/details.aspx?id=8279 ist ein guter Ausgangspunkt, um dies herunterzuladen - Sie möchten wondk_web.exe beim Herunterladen ausführen!
Die Standardinstallation hier ist in Ordnung.
Laden Sie abschließend das Windows SDK 7.1 SP1-Update herunter und installieren Sie es:
http://www.microsoft.com/en-us/download/details.aspx?id=4422
Und um fehlende Header-Datei zu beheben, VS2010 SP1.
http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5
Und, verdammt noch mal, reparieren Sie die fehlende Batch-Datei für VS2010 Express. Das wird geradezu absurd.
Erstellen Sie unter C: \ Programme (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64 "vcvars64.bat" wie folgt (Sie müssen als Administrator ausgeführt werden):
CALL setenv / x64
Mein Python-Paket wurde immer noch nicht installiert (Fehler kann nicht zurückgerufen werden). Ich fand dann einige Anweisungen (unten kopiert) zur Verwendung der speziellen SDK 7.1-Eingabeaufforderung, siehe: https://mail.python.org/pipermail/distutils-sig/2012-February/018300.html
Macht nichts aus dieser Frage. Jemand hier hat diesen Punkt im Menü bemerkt: Start-> Alle Programme-> Microsoft Windows SDK v7.1 -> Windows SDK 7.1-Eingabeaufforderung
Dadurch wird ein Stapeljob ausgeführt, der anscheinend eine Arbeitsumgebung für den Compiler einrichtet. An dieser Eingabeaufforderung können Sie "setup.py build" oder "setup.py install" eingeben.
Ich habe die Windows SDK 7.1-Eingabeaufforderung wie angegeben geöffnet und damit easy_install für das Python-Paket ausgeführt. Und endlich Erfolg!
TLDR ;
- Installieren Sie Visual Studio Express 2010 (vorzugsweise ohne aktualisierte Redistributables oder SQL Server).
- Installieren Sie das Windows 7.1 SDK
- Installieren Sie das SDK 7.1 SP1-Update und korrigieren Sie die VS2010 SP1-Headerdatei (dieser Schritt ist möglicherweise nicht erforderlich).
- Manuell
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat
mit Inhalten erstellenCALL setenv /x64
- Start-> Alle Programme-> Microsoft Windows SDK v7.1 -> Windows SDK 7.1 Eingabeaufforderung zum Öffnen einer speziellen x64-Eingabeaufforderung, die dann mit python / easy_install / pip / etc (einschließlich der in virtual_envs) verwendet werden kann.