Ich habe versucht, das Python-Paket dulwich zu installieren :
pip install dulwich
Aber ich bekomme eine kryptische Fehlermeldung:
error: Unable to find vcvarsall.bat
Das gleiche passiert, wenn ich versuche, das Paket manuell zu installieren:
> python setup.py install
running build_ext
building 'dulwich._objects' extension
error: Unable to find vcvarsall.bat
C:\Users\User\libfreenect\wrappers\python>python setup.py install
running install running build running build_ext building 'freenect' extension error: Unable to find vcvarsall.bat
Antworten:
Update : Kommentare weisen darauf hin, dass die Anweisungen hier gefährlich sein können. Verwenden Sie möglicherweise die Visual C ++ 2008 Express Edition oder den speziell entwickelten Microsoft Visual C ++ - Compiler für Python ( Details ) und NICHT die unten stehende Originalantwort. Die ursprüngliche Fehlermeldung bedeutet, dass die erforderliche Version von Visual C ++ nicht installiert ist.
Für Windows-Installationen:
Während der Ausführung von setup.py für Paketinstallationen sucht Python 2.7 nach einem installierten Visual Studio 2008. Sie können Python dazu verleiten, ein neueres Visual Studio zu verwenden, indem Sie
VS90COMNTOOLS
vor dem Aufruf den richtigen Pfad in der Umgebungsvariablen festlegensetup.py
.Führen Sie den folgenden Befehl basierend auf der installierten Version von Visual Studio aus:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
SET VS90COMNTOOLS=%VS110COMNTOOLS%
SET VS90COMNTOOLS=%VS120COMNTOOLS%
SET VS90COMNTOOLS=%VS140COMNTOOLS%
WARNUNG: Wie unten erwähnt, funktioniert diese Antwort wahrscheinlich nicht, wenn Sie versuchen, Python-Module zu kompilieren.
Weitere Informationen finden Sie unter Erstellen von lxml für Python 2.7 unter Windows .
quelle
Ich habe die Lösung gefunden. Ich hatte genau das gleiche Problem und den gleichen Fehler bei der Installation von 'amara'. Ich hatte mingw32 installiert, aber distutils mussten konfiguriert werden.
C:\programs\mingw\
c:\programs\MinGW\bin;
an den PATHEdit (erstellen , falls nicht vorhanden) distutils.cfg Datei auf sich
C:\Python26\Lib\distutils\distutils.cfg
zu sein:Jetzt renn
easy_install.exe amara
.Stellen Sie sicher, dass die Umgebung eingestellt ist, indem Sie eine neue öffnen
cmd.exe
.quelle
C:\msysgit\mingw\mingw32\bin
undC:\msysgit\mingw\bin
dem Benutzer PATH und Spyder neu zu starten , bevor läuftpip install
wiedergcc: error: unrecognized command line option '-mno-cygwin' error: Setup script exited with error: command 'gcc' failed with exit status 1
nacheasy_install.exe amara
C:\Python27\Lib\distutils\cygwincompiler.py
und alle Vorkommen von entfernen–mno-cygwin
; Dies liegt daran, dass in neueren Versionen von GCC die–mno-cygwin
Option entfernt wurde und sie nicht vorhanden sein sollte.Sie können die kompilierte Version von http://www.lfd.uci.edu/~gohlke/pythonlibs/ installieren.
quelle
easy_install binary_installer_built_with_distutils.exe
in virtualenv ausführen und dieser Antwort entsprechen .wheel convert ....exe
diese Installationsprogramme auch verwenden und sie dann mit pip installieren, wann immer Sie möchten.python -m pip install <filename>
Wenn Sie mit Visual Studio C ++ kompilieren möchten, anstatt mingw ...
Führen Sie
python.exe
diese Option aus, um anzuzeigen, mit welcher Version von VC ++ kompiliert wurde (Beispiel unten).Verwenden Sie die folgende Tabelle [1] , um die interne VC ++ - Version mit der entsprechenden Visual Studio-Version abzugleichen:
Laden Sie die entsprechende Version von Visual Studio C ++ aus dem vorherigen Schritt herunter und installieren Sie sie.
Zusätzliche Hinweise für bestimmte Versionen von VC ++ sind unten aufgeführt.
Hinweise für Visual Studio C ++ 2008
Laden Sie für nur die 32-Bit-Compiler Visual Studio C ++ 2008 Express Edition herunter .
Laden Sie für die 64-Bit-Compiler [2] [3] das Windows SDK für Windows 7 und .NET Framework 3.5 SP1 herunter .
Hinweise für Visual Studio C ++ 2010
Laut Microsoft wurden bei der Installation von Visual Studio 2010 SP1 möglicherweise die Compiler und Bibliotheken für VC ++ entfernt.
Laden Sie in diesem Fall das Visual C ++ 2010 SP1-Compiler-Update herunter .
Hinweise für Visual Studio C ++ 2015
Wenn Sie die Visual Studio-IDE nicht benötigen, laden Sie die Visual Studio C ++ 2015-Build-Tools herunter .
Hinweise für Visual Studio C ++ 2017
Wenn Sie die Visual Studio-IDE nicht benötigen, laden Sie Build Tools für Visual Studio 2017 herunter .
Vorschlag : Wenn Sie sowohl eine 32- als auch eine 64-Bit-Python-Installation haben, möchten Sie möglicherweise auch virtualenv verwenden , um separate Python-Umgebungen zu erstellen, sodass Sie die eine oder die andere gleichzeitig verwenden können, ohne Ihren Pfad zu ändern , um die Python-Version auszuwählen verwenden.
Öffnen Sie a
cmd.exe
Bevor Sie versuchen, etwas zu installieren, für das C-Erweiterungen erforderlich sind, führen Sie die folgende Batchdatei aus, um die Umgebung des VC ++ - Compilers in die Sitzung zu laden (z. B. Umgebungsvariablen, den Pfad zum Compiler usw.).
Ausführen:
32-Bit-Compiler:
Hinweis : 32-Bit-Windows-Installationen werden nur
C:\Program Files\
wie erwartet ausgeführt64-Bit-Compiler:
Hinweis : Ja, die nativen 64-Bit-Compiler befinden sich in
Program Files (x86)
. Frag mich nicht warum.Wenn Sie sich fragen, was der Unterschied zwischen
vcvars64.bat
undvcvarsx86_amd64.bat
oder , was noch wichtiger ist, der Unterschied zwischenamd64
und istx86_amd64
, gelten die ersteren für die nativen 64-Bit-Compiler-Tools und die letzteren für die 64-Bit-Cross-Compiler, die auf einer 32-Bit-Windows-Installation ausgeführt werden können .Update:
Wenn Sie aus irgendeinem Grund feststellen,
error: ... was unexpected at this time.
wo...
sich eine Reihe von Zeichen befindet, müssen Sie überprüfen, ob Ihre Pfadvariable keine irrelevanten Zeichen wie zusätzliche Anführungszeichen oder streunende Zeichen enthält. Die Batch-Datei kann Ihren Sitzungspfad nicht aktualisieren, wenn dies überhaupt keinen Sinn ergibt.Wenn das gut gelaufen ist, sollten Sie eine der folgenden Meldungen erhalten, je nachdem, welche Version von VC ++ und welchen Befehl Sie ausgeführt haben:
Für die 32-Bit-Compiler-Tools:
Setting environment for using Microsoft Visual Studio 20xx x86 tools.
Für die 64-Bit-Compiler-Tools:
Setting environment for using Microsoft Visual Studio 20xx x64 tools.
Nun führen Sie das Setup über
python setup.py install
oderpip install pkg-name
Hoffe und drücke die Daumen, dass die Planeten richtig ausgerichtet sind, damit VC ++ zusammenarbeiten kann.
quelle
...\VC\bin\vcvarsamd64.bat
und...\VC\bin\amd64\vcvarsamd64.bat
.Was ist los? Python-Module können teilweise in C oder C ++ geschrieben sein (normalerweise aus Gründen der Geschwindigkeit). Wenn Sie versuchen, ein solches Paket mit Pip (oder
setup.py
) zu installieren , muss es dieses C / C ++ aus dem Quellcode kompilieren. Pip geht unverschämt davon aus, dass Sie den Compiler Microsoft Visual C ++ installiert haben. Wenn Sie es nicht haben, wird die kryptische Fehlermeldung "Fehler: vcvarsall.bat kann nicht gefunden werden" angezeigt.Die vorgeschriebene Lösung besteht darin, einen C / C ++ - Compiler zu installieren, entweder Microsoft Visual C ++ oder MinGW (ein Open-Source-Projekt). Die Installation und Konfiguration von beiden ist jedoch unerschwinglich schwierig. (Edit 2014: Microsoft hat einen speziellen C ++ - Compiler für Python 2.7 veröffentlicht.)
Die einfachste Lösung besteht darin, die Windows-Installationsprogramme (.msi) von Christoph Gohlke für beliebte Python-Pakete zu verwenden. Er erstellt Installationsprogramme für Python 2.x und 3.x, 32 Bit und 64 Bit. Sie können sie von http://www.lfd.uci.edu/~gohlke/pythonlibs/ herunterladen.
Wenn auch Sie der Meinung sind, dass "Fehler: vcvarsall.bat kann nicht gefunden werden" eine lächerlich kryptische und nicht hilfreiche Nachricht ist, kommentieren Sie den Fehler unter http://bugs.python.org/issue2943 , um ihn durch eine hilfreichere und benutzerfreundlichere zu ersetzen. freundliche Nachricht.
Zum Vergleich wird Ruby mit einem Paketmanager Gem ausgeliefert und bietet einen quasi offiziellen C / C ++ - Compiler, DevKit. Wenn Sie versuchen, ein Paket ohne dieses Paket zu installieren, wird diese hilfreiche, freundliche und nützliche Meldung angezeigt:
Eine längere Beschreibung der Python-Verpackung finden Sie unter https://stackoverflow.com/a/13445719/284795
quelle
setuptools
auf Version6.0
oder höherpip install setuptools --upgrade
.Sie müssen einen Microsoft-Compiler installieren, der mit dem zum Erstellen von Python verwendeten Compiler kompatibel ist. Dies bedeutet, dass Sie Visual C ++ 2008 benötigen (oder neuer, mit einigen Optimierungen ).
Microsoft liefert nun einen gebündelten Compiler und Header nur die Lage sein , Python - Erweiterungen zu kompilieren, an der unvergesslichen URL:
Dies ist ein relativ kleines Paket; 85 MB zum Herunterladen, installierbar ohne Administratorrechte, kein Neustart erforderlich. Der Name ist etwas irreführend. Der Compiler funktioniert für jede Python-Version, die ursprünglich mit Visual C ++ 2008 kompiliert wurde, nicht nur für Python 2.7.
Wenn Sie eine interaktive Python-Eingabeaufforderung starten oder drucken
sys.version
, suchen Sie nach derMSC
Versionszeichenfolge. WennMSC v.1500
ja, können Sie dieses Tool verwenden.Von der ursprünglichen Ankündigung bis zur Distutils-Liste :
Beachten Sie, dass
setuptools
6.0 oder neuer installiert sein muss (siehe Systemanforderungen auf der Download-Seite). Das Projekt, das Sie installieren, muss verwendet werdensetuptools.setup()
,distutils
sonst funktioniert die automatische Erkennung nicht.Microsoft hat erklärt, dass die URL stabil bleiben soll, damit automatisierte Skripte problemlos darauf verweisen können.
quelle
setuptools
auf dem neuesten Stand sindpip install setuptools --upgrade
.setuptools
nichtdistutils
- immerhin Module Aufbau Kernfunktionalität ist, und es macht den entsprechenden Code, sondern eine ältere Version davon. Es sieht so aus, als hätten diedistutils
Betreuer einfach aufgegeben, alle möglichen MSSDK-Variationen zu unterstützen, und diese Arbeit ihrensetuptools
eifrigeren Kollegen überlassen .setuptools
Kann auch weitaus häufiger veröffentlicht werden alsdistutils
im Python-Release-Zyklus enthalten. Unddistitutils
ist in der Tat in eine Art Wartungsmodus übergegangen, in dem an neuen Systemen gearbeitet werden soll, um ihn zu ersetzen. Diese Arbeit kam stattdessen zum Stillstand.Ich hatte gerade das gleiche Problem, also erzähle ich meine Geschichte hier in der Hoffnung, dass sie jemand anderem mit den gleichen Problemen hilft und ihnen die paar Stunden erspart, die ich gerade verbracht habe:
Ich habe mingw (g ++ (GCC) 4.6.1) und Python 2.7.3 in einer Windows 7-Box und versuche, PyCrypto zu installieren.
Alles begann mit diesem Fehler beim Ausführen von setup.py install:
Einfach zu lösen, nachdem der Fehler gegoogelt wurde, indem mingw als Compiler der Wahl angegeben wurde:
Das Problem ist, dass ich dann einen anderen Fehler bekommen habe:
Es stellt sich heraus, dass mein Antivirus die Ausführung einer frisch kompilierten EXE-Datei blockiert hat. Ich habe gerade das Antiviren-System "Resident Shield" deaktiviert und bin zum nächsten Fehler übergegangen:
Dies löste das Problem: "Installieren Sie entweder eine etwas ältere Version von MinGW oder bearbeiten Sie distutils \ cygwinccompiler.py in Ihrem Python-Verzeichnis, um alle Instanzen von -mno-cygwin zu entfernen." (von hier )
Jetzt kann ich endlich anfangen zu arbeiten.
quelle
Sieht so aus, als würde es nach VC-Compilern suchen, also könnten Sie versuchen, den Compilertyp mit zu erwähnen
-c mingw32
, da Sie msys habenquelle
python setup.py build --compiler=mingw32
gefolgt vonpython setup.py install
Ich habe Python 2.73 und Windows 7. Die Lösung, die für mich funktioniert hat, war:
C:\programs\mingw\bin;
Erstellt distutils.cfg an sich
C:\Python27\Lib\distutils\distutils.cfg
enthält:Um zu verhindern, dass MinGW das Flag -mno-cygwin nicht mehr erkennt, entfernen Sie das Flag in den Zeilen 322 bis 326 in C: \ Python27 \ Lib \ distutils \ cygwincompiler.py. Es sieht also folgendermaßen aus:
quelle
Schauen Sie in die
setup.py
Datei des Pakets, das Sie installieren möchten. Wenn es sich um ein älteres Paket handelt, wird es möglicherweise eher importiertdistutils.core.setup()
alssetuptools.setup()
.Ich bin darauf (im Jahr 2015) mit einer Kombination dieser Faktoren gestoßen:
Der Microsoft Visual C ++ - Compiler für Python 2.7 von http://aka.ms/vcpython27
Ein älteres Paket, das verwendet
distutils.core.setup()
Ich versuche es zu tun
python setup.py build
anstatt es zu benutzenpip
.Wenn Sie eine neuere Version von pip verwenden, wird das Paket gezwungen (monkeypatch), setuptools zu verwenden, selbst wenn es
setup.py
distutils erfordert. Wenn Sie jedoch nicht pip verwenden und stattdessen nur dies tunpython setup.py build
, wird der Erstellungsprozess verwendetdistutils.core.setup()
, der den Installationsort des Compilers nicht kennt.Lösung
Schritt 1: Öffnen Sie die entsprechende Visual C ++ 2008-Eingabeaufforderung
Öffnen Sie das Startmenü oder den Startbildschirm und suchen Sie nach "Visual C ++ 2008 32-Bit-Eingabeaufforderung" (wenn Ihr Python 32-Bit ist) oder "Visual C ++ 2008 64-Bit-Eingabeaufforderung" (wenn Ihr Python 64-Bit ist). . Starte es. Die Eingabeaufforderung sollte Visual C ++ 2008 ... in der Titelleiste anzeigen.
Schritt 2: Umgebungsvariablen festlegen
Legen Sie diese Umgebungsvariablen in der gerade geöffneten Eingabeaufforderung fest.
Referenz http://bugs.python.org/issue23246
Schritt 3: Erstellen und installieren
cd
zu dem Paket , das Sie bauen wollen, und führen Siepython setup.py build
dannpython setup.py install
. Wenn Sie eine virtuelle Umgebung installieren möchten, aktivieren Sie diese vor dem Erstellen.quelle
Vielleicht kann jemand interessiert sein, das Folgende hat für mich für das py2exe-Paket funktioniert. (Ich habe Windows 7 64-Bit und portables Python 2.7, Visual Studio 2005 Express mit Windows SDK für Windows 7 und .NET Framework 4)
dann:
quelle
Ich habe fast 2 Tage damit verbracht, herauszufinden, wie ich dieses Problem in meiner Python 3.4 64-Bit-Version beheben kann: Python 3.4.3 (v3.4.3: 9b73f1c3e601, 24. Februar 2015, 22:44:40) [MSC v.1600 64-Bit (AMD64) )] auf win32
Lösung 1, schwer: (Bevor Sie dies lesen, lesen Sie zuerst Lösung 2 unten) Schließlich hat mir Folgendes geholfen:
vcvars64.bat
inC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64
denen enthältCALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
oder anderen Pfad je nachdem , wo Sie Ihr installiertDanach habe ich versucht,
pip install numpy
aber den folgenden Fehler erhalten:Ich
mfinfo
habe per https://stackoverflow.com/a/23099820/4383472 zuNone
in gewechseltC:\Python34\Lib\distutils\msvc9compiler.py
pip install numpy
versuchte mein Avast Antivirus nach dem Befehl, in den Installationsprozess einzugreifen, aber ich deaktivierte ihn schnellEs dauerte sehr lange - einige Minuten, bis numpy kompiliert war. Ich dachte sogar, dass ein Fehler aufgetreten war, aber schließlich war alles in Ordnung.
Lösung 2, einfach: (Ich weiß, dass dieser Ansatz bereits in einer hoch bewerteten Antwort erwähnt wurde , aber lassen Sie mich wiederholen, da es wirklich einfacher ist.) Nachdem ich all diese Arbeiten durchgearbeitet hatte, verstand ich, dass der beste Weg für mich darin besteht, ihn bereits zu verwenden vorkompilierte Binärdateien von http://www.lfd.uci.edu/~gohlke/pythonlibs/ in Zukunft. Es besteht nur eine sehr geringe Wahrscheinlichkeit, dass ich jemals ein Paket (oder eine Version eines Pakets) benötige, das diese Site nicht enthält. Der Installationsvorgang ist auf diese Weise auch viel schneller. Zum Beispiel zum Installieren
numpy
:numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl
(wenn Sie Python 3.4 64-Bit haben) von dieser Sitepip install numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl
(oder im vollständigen Pfad zur Datei, je nachdem, wie die Eingabeaufforderung geöffnet wird).quelle
Ich wollte pysph unter Windows 10 unter Python 2.7 ausführen und bekam vcvarsall.bat wurde nicht gefunden (von distutils)
Meine Lösung war folgende:
Installieren Sie Microsoft Visual C ++ für Python 2.7 (wie von @Michael vorgeschlagen)
Unter Windows 10 wurde es installiert (mein Benutzername ist Andreas):
Setzen Sie die Umgebungsvariable VS90COMNTOOLS auf den Installationspfad von Visual C ++ für Python 2.7 (siehe obigen Pfad).
Wenn es immer noch nicht funktioniert, ändern Sie es im Modul
die Datei msvc9compiler.py . Suchen Sie darin die Funktion find_vcvarsall und führen Sie die folgenden Änderungen durch.
Ersetzen Sie die Leitung:
mit
Hier befindet sich in meinem Fall vcvarsall.bat (überprüfen Sie, wo sich vcvarsall.bat in Ihrer Installation befindet).
quelle
%userprofile%\Appdata\Local\Programs\Common
ist leer für mich.Dieses Problem trat auf, als ich versuchte, die Numpy-Bibliothek auf meinem Python 3.5 zu installieren. Die Lösung besteht darin, VS2015 zu installieren. Ich hatte VS2008, 2012, 2013, von denen keines mit Python 3.5 kompatibel ist. Anscheinend ist eine neuere Version von Python von neueren Versionen von VS abhängig.
Stellen Sie außerdem sicher, dass C ++ Common Tools mit Visual Studio installiert sind.
quelle
Ich habe alle oben genannten Antworten ausprobiert und festgestellt, dass alle nicht funktionieren. Vielleicht habe ich Windows 8 verwendet und Visual Studio 2012 installiert. In diesem Fall tun Sie dies.
Die
vcvarsall.bat
Datei befindet sich hier:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC
Wählen Sie einfach die Datei aus und kopieren Sie sie.
Dann gehen Sie in dieses Verzeichnis:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools
und fügen Sie die Datei ein. Und dann sollte alles gut sein.
quelle
Sie können die kostenlose Visual C ++ 2008 Express Edition von http://go.microsoft.com/?linkid=7729279 herunterladen , mit der die Umgebungsvariable VS90COMNTOOLS während der Installation festgelegt und daher mit einem kompatiblen Compiler erstellt wird.
Wie @PiotrDobrogost in einem Kommentar erwähnt hat, geht seine Antwort auf diese andere Frage detailliert darauf ein, warum Visual C ++ 2008 das richtige Build ist. Dies kann sich jedoch ändern, wenn der Windows-Build von Python auf neuere Versionen von Visual Studio: Building lxml umgestellt wird für Python 2.7 unter Windows
quelle
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.7Aus 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.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
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 ;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat
mit Inhalten erstellenCALL setenv /x64
quelle
Die folgenden Schritte haben dieses Problem für mich behoben. Ich habe versucht, ein Setup mit der Erweiterung cython zu erstellen.
Aus irgendeinem Grund erwartet distutils, dass sich die Datei vcvarsall.bat im VC-Verzeichnis befindet, aber VC ++ für Python-Tools hat sie im Stammverzeichnis von 9.0. Um dies zu beheben, entfernen Sie "VC" aus der Datei path.join (ungefähr in Zeile 247).
#productdir = os.path.join(toolsdir, os.pardir, os.pardir, "VC") productdir = os.path.join(toolsdir, os.pardir, os.pardir)
Die obigen Schritte haben das Problem für mich behoben.
quelle
Ich habe viele Lösungen ausprobiert, aber nur eine hat für mich funktioniert, die Installation von Microsoft Visual Studio 2008 Express C ++.
Ich habe dieses Problem mit einem in C geschriebenen Python 2.7-Modul (yEnc, das andere Probleme mit MS VS hat). Beachten Sie, dass Python 2.7 mit MS VS 2008 Version erstellt wurde, nicht mit 2010!
Trotz der Tatsache, dass es kostenlos ist, ist es ziemlich schwer zu finden, da MS für VS 2010 wirbt. Die offiziellen, sehr direkten Links von MSDN funktionieren immer noch: Download-Links finden Sie unter https://stackoverflow.com/a/15319069/2227298 .
quelle
Wenn Sie mingw installiert haben
funktioniert und zwingt pip, mit dem mingw-Compiler anstelle von Microsoft zu erstellen. Weitere Informationen finden Sie hier https://github.com/pypa/pip/issues/18 (letzter Beitrag).
quelle
Ist Microsoft Visual C ++ Compiler für Python 2.7 unter http://www.microsoft.com/en-us/download/details.aspx?id=44266 keine Lösung?
quelle
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
Der einfachste Weg, dies im Jahr 2016 zu lösen, ist die Installation von Chocolatey und anschließend des
vcpython27
Pakets. Open Powershell:quelle
Ich weiß nicht, ob es zu spät ist, aber ich habe Microsoft Visual C ++ Compiler für Python 2.7 gefunden, der liest
Hoffe das hilft!
quelle
Ich habe das gleiche Problem und habe es im Moment gelöst.
"Google" hat mir mitgeteilt, dass ich "Microsoft Visual C ++ Compiler für Python 2.7" installieren muss. Ich installiere nicht nur das Tool, sondern auch Visual C ++ 2008 Reditributable, aber es hat nicht geholfen. Ich habe dann versucht, Visual C ++ 2008 Express Edition zu installieren. Und das Problem ist weg!
Versuchen Sie einfach, Visual C ++ 2008 Express Edition zu installieren!
quelle
Beim Aufrufen
import setuptools
werden Affen-Patch-Distutils verwendet, um die Kompatibilität mit Visual Studio zu erzwingen. Durchvcvars32.bat
manuelles Aufrufen wird die virtuelle Umgebung eingerichtet und andere häufige Fehler, die der Compiler auslöst, werden vermieden. Für VS 2017 befindet sich die Datei unterHier ist das Setup-Skript, mit dem ich .pyx-Dateien schnell zu .pyd kompiliere: (Hinweis: Es verwendet das Drittanbieter-Modul send2trash
quelle
setuptools
hilft der Import auch bei der Cython-Kompilierung .Verwenden Sie diesen Link, um Visual C ++ 2015 Build Tools herunterzuladen und zu installieren . Visual C ++ 14.0 wird automatisch heruntergeladen
visualcppbuildtools_full.exe
und installiert, ohne dass Visual Studio installiert wird. Versuchen Sie nach Abschluss der Installation erneut, pip zu installieren, und Sie erhalten den Fehler nicht erneut.Ich habe es auf folgenden Plattformen und Versionen getestet:
quelle
Wenn Sie schauen , auf einem Windows - Box installieren Pyodbc , die nicht funktioniert haben Visual Studio eine andere Option installiert ist, manuell zu installieren Pyodbc die Binärdistribution verwenden.
Dies ist besonders nützlich, wenn Sie auf dem Computer, mit dem Sie arbeiten, keine Administratorrechte haben und versuchen, eine virtuelle Umgebung einzurichten .
Schritte:
[python installation directory or virtualenv]\Lib\site-packages
quelle
Mit Python 3.4 ist die Abhängigkeit von Visual Studio 2010. Die Installation von Visual C ++ 2010 Express hat das Problem für mich behoben.
Die Verwendung der VS 2008- oder 2013-Installationen, die ich zufällig hatte, hat nicht funktioniert.
quelle
Sie können easy_install anstelle von pip verwenden, es funktioniert für mich.
quelle
error: Setup script exited with error: Unable to find vcvarsall.bat
Die Antwort von @monkey ist eine der richtigen, aber unvollständig.
Wenn Sie MinGW verwenden möchten , sollten Sie C, C ++ und andere Entwicklungstools auswählen, die während des MinGW-Installationsprozesses vorgeschlagen wurden, um auch "make.exe" zu erhalten.
Sie müssen auch den Pfad auf make.exe in der Umgebung festgelegt haben.
Um seine Antwort zu vervollständigen, sind hier die Schritte:
C:\Programs\MinGW\bin;C:\Programs\MinGW\msys\1.0\bin;
anhängenBearbeiten Sie (erstellen Sie, wenn es nicht existiert) die
distutils.cfg
Datei, die sich unterC:\Python26\Lib\distutils\distutils.cfg
befindet:Stellen Sie sicher, dass die Umgebungsvariablen festgelegt sind, indem Sie eine neue cmd.exe öffnen.
quelle
x86_64-w64-mingw32-gcc
undi686-w64-mingw32-gcc
. Diese ausführbaren Dateien sind anscheinend die gleichen wie die, die Sie normalerweise von Mingw erhalten (nur in einer Cygwin-Umgebung kompiliert).