Próbowałem zainstalować dulwich pakietu Python :
pip install dulwich
Ale pojawia się tajemniczy komunikat o błędzie:
error: Unable to find vcvarsall.bat
To samo dzieje się, jeśli spróbuję zainstalować pakiet ręcznie:
> 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
Odpowiedzi:
Aktualizacja : Komentarze wskazują, że instrukcje tutaj mogą być niebezpieczne. Rozważ użycie wersji Visual C ++ 2008 Express lub specjalnie zbudowanego kompilatora Microsoft Visual C ++ dla Pythona ( szczegóły ) i NIE używaj oryginalnej odpowiedzi poniżej. Oryginalny komunikat o błędzie oznacza, że wymagana wersja programu Visual C ++ nie została zainstalowana.
W przypadku instalacji Windows:
Podczas uruchamiania pliku setup.py dla instalacji pakietów Python 2.7 wyszukuje zainstalowanego programu Visual Studio 2008. Możesz oszukać Python, aby używał nowszego programu Visual Studio, ustawiając poprawną ścieżkę w
VS90COMNTOOLS
zmiennej środowiskowej przed wywołaniemsetup.py
.Wykonaj następujące polecenie w zależności od zainstalowanej wersji programu Visual Studio:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
SET VS90COMNTOOLS=%VS110COMNTOOLS%
SET VS90COMNTOOLS=%VS120COMNTOOLS%
SET VS90COMNTOOLS=%VS140COMNTOOLS%
OSTRZEŻENIE: Jak wspomniano poniżej, jest mało prawdopodobne, aby ta odpowiedź działała, jeśli próbujesz skompilować moduły python.
Szczegółowe informacje zawiera temat Budowanie lxml dla Pythona 2.7 w systemie Windows .
źródło
Znalazłem rozwiązanie. Miałem dokładnie ten sam problem i błąd podczas instalowania „amara”. Miałem zainstalowany mingw32, ale trzeba było skonfigurować distutils.
C:\programs\mingw\
c:\programs\MinGW\bin;
do ŚCIEŻKIEdytuj (jeśli nie istnieje) plik distutils.cfg znajdujący się pod adresem
C:\Python26\Lib\distutils\distutils.cfg
:Teraz biegnij
easy_install.exe amara
.Upewnij się, że środowisko jest ustawione, otwierając nowy
cmd.exe
.źródło
C:\msysgit\mingw\mingw32\bin
iC:\msysgit\mingw\bin
do PATH użytkownika i ponownym Spyder przed uruchomieniempip install
ponowniegcc: error: unrecognized command line option '-mno-cygwin' error: Setup script exited with error: command 'gcc' failed with exit status 1
poeasy_install.exe amara
C:\Python27\Lib\distutils\cygwincompiler.py
i usunąć z niego wszystkie jego wystąpienia–mno-cygwin
; dzieje się tak, ponieważ najnowsze wersje GCC usunęły–mno-cygwin
opcję i nie powinno jej tam być.Możesz zainstalować skompilowaną wersję z http://www.lfd.uci.edu/~gohlke/pythonlibs/
źródło
easy_install binary_installer_built_with_distutils.exe
w virtualenv, zgodnie z tą odpowiedzią .wheel convert ....exe
zainstalować te instalatory, a następnie zainstalować je za pomocą pip w dowolnym momencie.python -m pip install <filename>
Jeśli chcesz skompilować z Visual Studio C ++ zamiast mingw ...
Uruchom,
python.exe
aby wyświetlić wersję VC ++, z którą został skompilowany (przykład pokazano poniżej).Skorzystaj z poniższej tabeli [1], aby dopasować wewnętrzną wersję VC ++ do odpowiedniej wersji Visual Studio:
Pobierz i zainstaluj odpowiednią wersję programu Visual Studio C ++ z poprzedniego kroku.
Dodatkowe uwagi dotyczące określonych wersji VC ++ są wymienione poniżej.
Uwagi do programu Visual Studio C ++ 2008
Na zaledwie kompilatorów 32-bitowych, pobierz Visual Studio C ++ 2008 Express Edition .
W przypadku kompilatorów 64-bitowych [2] [3] pobierz Windows SDK dla Windows 7 i .NET Framework 3.5 SP1 .
Uwagi do programu Visual Studio C ++ 2010
Według Microsoft, jeśli zainstalowałeś Visual Studio 2010 SP1, mógł on usunąć kompilatory i biblioteki dla VC ++.
W takim przypadku pobierz aktualizację kompilatora Visual C ++ 2010 SP1 .
Uwagi do programu Visual Studio C ++ 2015
Jeśli nie potrzebujesz programu Visual Studio IDE, pobierz Narzędzia kompilacji Visual Studio C ++ 2015 .
Uwagi do programu Visual Studio C ++ 2017
Jeśli nie potrzebujesz Visual Studio IDE, pobierz Build Tools for Visual Studio 2017 .
Sugestia : Jeśli masz zarówno 32-, jak i 64-bitową instalację Pythona, możesz także użyć virtualenv do stworzenia osobnych środowisk Python, abyś mógł używać jednego lub drugiego na raz, bez bałagania na ścieżce, aby wybrać wersję Pythona do posługiwać się.
Otwórz a
cmd.exe
Zanim spróbujesz zainstalować coś, co wymaga rozszerzeń C, uruchom następujący plik wsadowy, aby załadować środowisko kompilatora VC ++ do sesji (tj. Zmienne środowiskowe, ścieżka do kompilatora itp.).
Wykonać:
Kompilatory 32-bitowe:
Uwaga : 32-bitowe instalacje systemu Windows będą działać tylko
C:\Program Files\
zgodnie z oczekiwaniamiKompilatory 64-bitowe:
Uwaga : Tak, są wbudowane natywne kompilatory 64-bitowe
Program Files (x86)
. Nie pytaj mnie dlaczego.Ponadto, jeśli zastanawiasz się, jaka jest różnica między,
vcvars64.bat
avcvarsx86_amd64.bat
co ważniejsze, różnica międzyamd64
ix86_amd64
, te pierwsze są dla natywnych 64-bitowych narzędzi kompilatora, a te drugie to 64-bitowe kompilatory krzyżowe, które można uruchomić w 32-bitowej instalacji systemu Windows .Aktualizacja:
Jeśli z jakiegoś powodu dochodzisz do
error: ... was unexpected at this time.
miejsca, w którym...
znajduje się seria znaków, musisz sprawdzić, czy zmienna ścieżki nie zawiera żadnych obcych znaków, takich jak dodatkowe cytaty lub znaki zbłąkane. Plik wsadowy nie będzie w stanie zaktualizować ścieżki sesji, jeśli w ogóle nie ma sensu.Jeśli wszystko poszło dobrze, powinieneś otrzymać jeden z następujących komunikatów w zależności od wersji VC ++ i uruchomionej komendy:
W przypadku 32-bitowych narzędzi kompilatora:
Setting environment for using Microsoft Visual Studio 20xx x86 tools.
W przypadku 64-bitowych narzędzi kompilatora:
Setting environment for using Microsoft Visual Studio 20xx x64 tools.
Teraz uruchom instalację za pomocą
python setup.py install
lubpip install pkg-name
Miejcie nadzieję i trzymajcie kciuki, że planety są prawidłowo ustawione, aby VC ++ mogło współpracować.
źródło
...\VC\bin\vcvarsamd64.bat
i...\VC\bin\amd64\vcvarsamd64.bat
.Co się dzieje? Moduły Python mogą być częściowo napisane w C lub C ++ (zazwyczaj dla szybkości). Jeśli spróbujesz zainstalować taki pakiet za pomocą Pip (lub
setup.py
), musi on skompilować ten C / C ++ ze źródła. Po wyjęciu z pudełka Pip bezczelnie zakłada, że jest zainstalowany kompilator Microsoft Visual C ++. Jeśli go nie masz, zobaczysz ten tajemniczy komunikat o błędzie „Błąd: Nie można znaleźć pliku vcvarsall.bat”.Zalecanym rozwiązaniem jest instalacja kompilatora C / C ++, Microsoft Visual C ++ lub MinGW (projekt typu open source). Jednak instalacja i konfiguracja jednego z nich jest wyjątkowo trudna. (Edycja 2014: Microsoft opublikował specjalny kompilator C ++ dla Python 2.7)
Najłatwiejszym rozwiązaniem jest użycie instalatorów systemu Windows (.msi) Christopha Gohlke dla popularnych pakietów Pythona. Buduje instalatory dla Python 2.x i 3.x, 32-bit i 64-bit. Możesz je pobrać ze strony http://www.lfd.uci.edu/~gohlke/pythonlibs/
Jeśli również uważasz, że „Błąd: nie można znaleźć pliku vcvarsall.bat” to absurdalnie tajemnicza i nieprzydatna wiadomość, skomentuj błąd na stronie http://bugs.python.org/issue2943, aby zamienić go na bardziej pomocny i pomocny dla użytkownika przyjazna wiadomość.
Dla porównania Ruby jest dostarczana wraz z menedżerem pakietów Gem i oferuje quasi-oficjalny kompilator C / C ++, DevKit. Jeśli spróbujesz zainstalować pakiet bez niego, zobaczysz tę pomocną przyjazną użyteczną wiadomość:
Możesz przeczytać dłuższe zdanie na temat pakowania Pythona na https://stackoverflow.com/a/13445719/284795
źródło
setuptools
do wersji6.0
lub wyższej za pomocąpip install setuptools --upgrade
.Musisz zainstalować kompilator Microsoft, zgodny z kompilatorem używanym do budowy Pythona. Oznacza to, że potrzebujesz programu Visual C ++ 2008 (lub nowszego, z pewnymi poprawkami ).
Microsoft teraz dostarcza dołączonego kompilator i nagłówków tak aby móc skompilować rozszerzenia Pythona, w pamiętnym URL:
Jest to stosunkowo niewielka paczka; 85 MB do pobrania, instalacja bez uprawnień administratora, nie jest wymagane ponowne uruchomienie. Nazwa jest trochę myląca, kompilator będzie działał dla każdej wersji Pythona oryginalnie skompilowanej z Visual C ++ 2008, nie tylko Python 2.7.
Jeśli uruchomisz interaktywny monit lub wydruk w Pythonie
sys.version
, poszukaj ciąguMSC
wersji; jeśli takMSC v.1500
, możesz użyć tego narzędzia.Od pierwotnego ogłoszenia do listy distutils :
Pamiętaj, że musisz mieć zainstalowaną
setuptools
wersję 6.0 lub nowszą (wymienioną w wymaganiach systemowych na stronie pobierania). Instalowany projekt musi zostać użytysetuptools.setup()
,distutils
inaczej nie będzie działać automatyczne wykrywanie.Microsoft oświadczył, że chce zachować stabilny adres URL, aby zautomatyzowane skrypty mogły łatwo do niego odwoływać.
źródło
setuptools
się , że jest aktualnypip install setuptools --upgrade
.setuptools
a niedistutils
- przecież budowanie modułów jest podstawową funkcjonalnością i zawiera odpowiedni kod, ale jego starszą wersję. Wygląda na to, żedistutils
opiekunowie po prostu zrezygnowali ze wspierania wszystkich możliwych wariantów MSSDK i zrzucili tę pracę na swoichsetuptools
chętnych kolegów.setuptools
można także wydać znacznie częściej niżdistutils
, może to zrobić w cyklu wydawniczym Python. Idistitutils
rzeczywiście przeszedł w pewien rodzaj trybu konserwacji, a prace nad nowymi systemami mają go zastąpić. Ta praca utknęła w martwym punkcie.Właśnie miałem ten sam problem, więc opowiem tutaj swoją historię, mając nadzieję, że pomoże to komuś innemu z tymi samymi problemami i zaoszczędzę im kilka godzin, które spędziłem:
Mam mingw (g ++ (GCC) 4.6.1) i python 2.7.3 w polu Windows 7 i próbuję zainstalować PyCrypto.
Wszystko zaczęło się od tego błędu podczas uruchamiania instalacji setup.py:
Łatwo rozwiązany po przejrzeniu błędu przez określenie mingw jako wybranego kompilatora:
Problem polega na tym, że dostałem inny błąd:
Okazuje się, że mój antywirus blokował wykonanie świeżo skompilowanego pliku .exe. Właśnie wyłączyłem antywirusową „tarczę rezydenta” i przeszedłem do następnego błędu:
Rozwiązało to: „Zainstaluj nieco starszą wersję MinGW lub edytuj distutils \ cygwinccompiler.py w katalogu Python, aby usunąć wszystkie wystąpienia -mno-cygwin.” ( stąd )
Teraz mogę wreszcie zacząć działać.
źródło
Wygląda na to, że szuka kompilatorów VC, więc możesz spróbować wspomnieć o typie kompilatora
-c mingw32
, ponieważ masz msysźródło
python setup.py build --compiler=mingw32
następujepython setup.py install
Mam Python 2.73 i Windows 7. Rozwiązanie, które działało dla mnie było:
C:\programs\mingw\bin;
Utworzono distutils.cfg usytuowany przy
C:\Python27\Lib\distutils\distutils.cfg
zawierające:Aby poradzić sobie z tym, że MinGW nie rozpoznaje flagi -mno-cygwin, usuń flagę w linii C: \ Python27 \ Lib \ distutils \ cygwincompiler.py od 322 do 326, więc wygląda to tak:
źródło
Sprawdź
setup.py
plik pakietu, który próbujesz zainstalować. Jeśli jest to starszy pakiet, może ondistutils.core.setup()
raczej importować niżsetuptools.setup()
.Wpadłem na to (w 2015 r.) Z kombinacją tych czynników:
Kompilator Microsoft Visual C ++ dla Python 2.7 z http://aka.ms/vcpython27
Starszy pakiet, który używa
distutils.core.setup()
Próbuję zrobić
python setup.py build
zamiast używaćpip
.Jeśli użyjesz najnowszej wersji pip, wymusi to (monkeypatch), aby pakiet używał setuptools, nawet jeśli
setup.py
wymaga on distutils. Jednakże, jeśli nie używasz pip, a zamiast tego po prostu robiszpython setup.py build
, użyje procesu kompilacjidistutils.core.setup()
, który nie wie o lokalizacji instalacji kompilatora.Rozwiązanie
Krok 1: Otwórz odpowiedni wiersz polecenia programu Visual C ++ 2008
Otwórz menu Start lub ekran Start i wyszukaj „Visual C ++ 2008 32-bit Command Prompt” (jeśli twój python jest 32-bitowy) lub „Visual C ++ 2008 64-bit Command Prompt” (jeśli twój python jest 64-bitowy) . Uruchom. Wiersz polecenia powinien zawierać Visual C ++ 2008 ... na pasku tytułu.
Krok 2: Ustaw zmienne środowiskowe
Ustaw te zmienne środowiskowe w właśnie otwartym wierszu polecenia.
Odniesienie http://bugs.python.org/issue23246
Krok 3: Zbuduj i zainstaluj
cd
do pakietu, który chcesz zbudować i uruchomićpython setup.py build
, a następniepython setup.py install
. Jeśli chcesz zainstalować w virtualenv, aktywuj go przed kompilacją.źródło
Może ktoś może być zainteresowany, następujące działało dla mnie dla pakietu py2exe. (Mam Windows 7 64-bitowy i przenośny Python 2.7, Visual Studio 2005 Express z Windows SDK dla Windows 7 i .NET Framework 4)
następnie:
źródło
Spędziłem prawie 2 dni zastanawiając się, jak rozwiązać ten problem w 64-bitowej wersji Pythona 3.4: Python 3.4.3 (v3.4.3: 9b73f1c3e601, 24 lutego 2015 r., 22:44:40) [MSC v.1600 64 bit (AMD64 )] na Win32
Rozwiązanie 1, trudne: (przed przeczytaniem przeczytaj najpierw Rozwiązanie 2 poniżej) Wreszcie, to mi pomogło:
vcvars64.bat
wC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64
który zawieraCALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
lub inną ścieżkę w zależności od tego, gdzie masz zainstalowany Ciebiepo tym próbowałem,
pip install numpy
ale otrzymałem następujący błąd:Zmieniłem
mfinfo
naNone
wC:\Python34\Lib\distutils\msvc9compiler.py
tym https://stackoverflow.com/a/23099820/4383472pip install numpy
polecenia mój program antywirusowy avast próbował zakłócić proces instalacji, ale szybko go wyłączyłemTrwało to bardzo długo - kilka minut na kompilację numpy, nawet pomyślałem, że wystąpił błąd, ale w końcu wszystko było w porządku.
Rozwiązanie 2, łatwe: (Wiem, że to podejście zostało już wspomniane w wysoko głosowanej odpowiedzi , ale powtórzę, ponieważ to naprawdę jest łatwiejsze). Po przejściu całej tej pracy zrozumiałem, że najlepszym sposobem dla mnie jest po prostu użycie już prekompilowane pliki binarne z http://www.lfd.uci.edu/~gohlke/pythonlibs/ w przyszłości. Istnieje bardzo mała szansa, że kiedykolwiek będę potrzebować pakietu (lub wersji pakietu), którego ta strona nie zawiera. Proces instalacji jest również znacznie szybszy. Na przykład, aby zainstalować
numpy
:numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl
(jeśli masz Python 3.4 64-bit) z tej stronypip install numpy‑1.9.2+mkl‑cp34‑none‑win_amd64.whl
(lub pełną ścieżkę do pliku, w zależności od sposobu otwierania wiersza polecenia)źródło
Chciałem uruchomić pysph na Windows 10 pod Pythonem 2.7 i dostałem vcvarsall.bat nie został znaleziony (z distutils)
Moje rozwiązanie było następujące:
Zainstaluj Microsoft Visual C ++ dla Python 2.7 (jak sugerowany @Michael)
W systemie Windows 10 został zainstalowany (moja nazwa użytkownika to Andreas):
Ustaw zmienną środowiskową VS90COMNTOOLS na ścieżkę instalacyjną Visual C ++ dla Python 2.7 (patrz powyższa ścieżka).
Jeśli nadal nie działa, zmodyfikuj w module
plik msvc9compiler.py . Znajdź w nim funkcję find_vcvarsall i wykonaj następujące modyfikacje.
Zamień wiersz:
z
To tutaj w moim przypadku znajduje się vcvarsall.bat (sprawdź, gdzie vcvarsall.bat znajduje się w twojej instalacji).
źródło
%userprofile%\Appdata\Local\Programs\Common
jest dla mnie pusty.Napotkałem ten problem, gdy próbowałem zainstalować bibliotekę numpy na moim pythonie 3.5. Rozwiązaniem jest instalacja VS2015. Miałem VS2008, 2012, 2013, z których żaden nie jest zgodny z python 3.5. Najwyraźniej nowsza wersja Pythona jest zależna od nowszych wersji VS.
Upewnij się również, że C ++ Common Tools jest zainstalowany z Visual Studio.
źródło
Wypróbowałem wszystkie powyższe odpowiedzi i okazało się, że wszystkie nie działają. Być może korzystałem z systemu Windows 8 i zainstalowałem program Visual Studio 2012. W tym przypadku robisz to.
vcvarsall.bat
Plik znajduje się tutaj:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC
Po prostu wybierz plik i skopiuj go.
Następnie przejdź do tego katalogu:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools
i wklej plik. A potem wszystko powinno być dobrze.
źródło
Możesz pobrać bezpłatną wersję Visual C ++ 2008 Express Edition ze strony http://go.microsoft.com/?linkid=7729279 , która ustawia zmienną środowiskową VS90COMNTOOLS podczas instalacji, a tym samym kompiluje z kompatybilnym kompilatorem.
Jak wspomniano w komentarzu @PiotrDobrogost, jego odpowiedź na to drugie pytanie zawiera szczegółowe informacje na temat tego, dlaczego Visual C ++ 2008 jest właściwą rzeczą do budowania, ale może się to zmienić, gdy kompilacja Pythona w systemie Windows przechodzi do nowszych wersji Visual Studio: Building lxml dla Python 2.7 w systemie Windows
źródło
Miałem ten problem przy użyciu Pythona 3.4.1 na Windows 7 x64 i niestety pakiety, których potrzebowałem, nie miały odpowiedniego pliku exe ani kół, których mógłbym użyć. Ten system wymaga kilku „obejść”, które opisano szczegółowo poniżej (i TLDR na dole ).
Korzystając z informacji zawartych w powyższej odpowiedzi Jaxrtecha , stwierdziłem, że potrzebuję programu Visual Studio C ++ 2010 (sys.version return MSC v.1600), więc zainstalowałem Visual C ++ 2010 Express z linku w jego odpowiedzi, czyli http://go.microsoft .com /? linkid = 9709949 . Zainstalowałem wszystko z aktualizacjami, ale jak możesz przeczytać poniżej, to był błąd. W tej chwili powinna być zainstalowana tylko oryginalna wersja Express (bez żadnych aktualizacji).
vcvarsall.bat był już obecny, ale nie był to nowy błąd podczas instalacji pakietu
query_vcvarsall raise ValueError(str(list(result.keys())))ValueError: [u'path']
. Istnieją inne pytania o przepełnienie stosu z tym błędem, takie jak Błędy podczas budowania / instalowania modułu C dla Pythona 2.7Na podstawie tej odpowiedzi ustaliłem, że 2010 Express instaluje tylko 32-bitowe kompilatory. Aby uzyskać 64-bitowe (i inne) kompilatory, musisz zainstalować zestaw Windows 7.1 SDK. Zobacz http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
Nie zainstaluje się to jednak dla mnie, a instalator zwrócił błąd
installation failed with return code 5100
. Znalazłem rozwiązanie pod następującym linkiem: http://support.microsoft.com/kb/2717426 . Krótko mówiąc, jeśli nowsze wersje programów redystrybucyjnych Microsoft Visual C ++ 2010 x86 i x64 są zainstalowane, powodują one konflikt z wersjami instalatora SDK i najpierw wymagają odinstalowania.Następnie SDK został zainstalowany, ale zauważyłem, że vcvars64.bat nadal nie istnieje
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
, ani jego podfoldery. vcvarsall.bat uruchamia plik wsadowy vcvars64, więc bez niego pakiet python nadal nie zostałby zainstalowany (zapomniałem pokazanego wówczas błędu).Następnie znalazłem tutaj instrukcje: http://www.cryptohaze.com/wiki/index.php/Windows_7_Build_Setup#Download_VS_2010_and_Windows_SDK_7.1 Postępując zgodnie z instrukcjami, zainstalowałem już Express i 7.1 SDK, więc zainstalowałem SDK 7.1 SP1 i zrobiłem brakująca poprawka pliku nagłówka. Następnie ręcznie utworzyłem plik vcvars64.bat z zawartością
CALL setenv /x64
. Wkleję tutaj wszystkie te instrukcje, aby się nie zgubiły.Mój pakiet python nadal nie został zainstalowany (nie mogę przypomnieć sobie błędu). Następnie znalazłem instrukcje (skopiowane poniżej) dotyczące korzystania ze specjalnego wiersza polecenia SDK 7.1, patrz: https://mail.python.org/pipermail/distutils-sig/2012-Febrow/018300.html
Otworzyłem wiersz polecenia Windows SDK 7.1 zgodnie z instrukcją i użyłem go do uruchomienia easy_install na pakiecie python. I w końcu sukces!
TLDR ;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat
z zawartościąCALL setenv /x64
źródło
Poniższe kroki naprawiły ten problem, próbowałem utworzyć konfigurację z rozszerzeniem cytonu.
Z jakiegoś powodu distutils oczekuje, że plik vcvarsall.bat znajdzie się w katalogu VC, ale VC ++ dla narzędzi python ma go w katalogu głównym 9.0 Aby to naprawić, usuń „VC” z path.join (mniej więcej w linii 247)
#productdir = os.path.join(toolsdir, os.pardir, os.pardir, "VC") productdir = os.path.join(toolsdir, os.pardir, os.pardir)
Powyższe kroki naprawiły dla mnie problem.
źródło
Wypróbowałem wiele rozwiązań, ale tylko jedno działało dla mnie, instalacja Microsoft Visual Studio 2008 Express C ++.
Mam ten problem z modułem Python 2.7 napisanym w C (yEnc, który ma inne problemy z MS VS). Zauważ, że Python 2.7 jest zbudowany z wersją MS VS 2008, a nie 2010!
Pomimo tego, że jest bezpłatny, trudno go znaleźć, ponieważ MS promuje VS 2010. Mimo to oficjalne bardzo bezpośrednie linki MSDN nadal działają: sprawdź https://stackoverflow.com/a/15319069/2227298, aby pobrać linki do pobrania.
źródło
Jeśli masz zainstalowany mingw
działa, zmuszając pip do budowania przy użyciu kompilatora mingw zamiast Microsoft. Zobacz tutaj https://github.com/pypa/pip/issues/18 w celu uzyskania szczegółowych informacji (ostatni post).
źródło
Czy kompilator Microsoft Visual C ++ dla Python 2.7 pod adresem http://www.microsoft.com/en-us/download/details.aspx?id=44266 nie jest rozwiązaniem?
źródło
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
Najłatwiejszym sposobem rozwiązania tego w 2016 roku jest zainstalowanie Chocolatey, a następnie
vcpython27
pakietu. Otwórz PowerShell:źródło
Nie wiem, czy jest za późno, ale znalazłem kompilator Microsoft Visual C ++ dla Pythona 2.7, który czyta
Mam nadzieję że to pomoże!
źródło
Mam ten sam problem i w tej chwili go rozwiązałem.
„Google” powiedział mi, że muszę zainstalować „Microsoft Visual C ++ Compiler for Python 2.7”. Instaluję nie tylko narzędzie, ale także Visual C ++ 2008 Reditributable, ale to nie pomogło. Następnie próbowałem zainstalować program Visual C ++ 2008 Express Edition. Problem zniknął!
Spróbuj zainstalować program Visual C ++ 2008 Express Edition!
źródło
wywołanie
import setuptools
spowoduje dodanie łatek distutils w celu wymuszenia zgodności z Visual Studio. Wywołanievcvars32.bat
ręczne spowoduje skonfigurowanie środowiska wirtualnego i zapobiegnie innym częstym błędom generowanym przez kompilator. Dla VS 2017 plik znajduje się naOto skrypt instalacyjny, którego używam do szybkiej kompilacji plików .pyx do .pyd: (Uwaga: używa zewnętrznego modułu send2trash
źródło
setuptools
pomaga, także w przypadku kompilacji cytonów .Użyj tego łącza, aby pobrać i zainstalować Narzędzia do kompilacji Visual C ++ 2015 . Automatycznie pobierze
visualcppbuildtools_full.exe
i zainstaluje Visual C ++ 14.0 bez faktycznej instalacji Visual Studio. Po zakończeniu instalacji spróbuj ponownie zainstalować pip, a błąd nie pojawi się ponownie.Przetestowałem to na następującej platformie i wersjach:
źródło
Jeśli chcesz zainstalować pyodbc na Windowsie, to nie zainstalowano programu Visual Studio, inną opcją jest ręczna instalacja pyodbc za pomocą dystrybucji binarnej.
Jest to szczególnie przydatne, jeśli nie masz uprawnień administratora na komputerze, z którym pracujesz i próbujesz skonfigurować virtualenv .
Kroki:
[python installation directory or virtualenv]\Lib\site-packages
źródło
W Pythonie 3.4 zależność dotyczy programu Visual Studio 2010. Zainstalowanie programu Visual C ++ 2010 Express rozwiązało problem.
Oszukanie go przy użyciu instalacji VS 2008 lub 2013, które przypadkiem nie działały.
źródło
Możesz użyć easy_install zamiast pip, to działa dla mnie.
źródło
error: Setup script exited with error: Unable to find vcvarsall.bat
Odpowiedź udzielona przez @monkey jest jedną z poprawnych, ale jest niepełna.
Jeśli chcesz użyć MinGW , powinieneś wybrać C, C ++, a także inne narzędzia programistyczne sugerowane podczas procesu instalacji MinGW, aby uzyskać również „make.exe”.
Musisz także ustawić ścieżkę make.exe w env.
Aby wypełnić swoją odpowiedź, oto kroki:
C:\Programs\MinGW\bin;C:\Programs\MinGW\msys\1.0\bin;
do ŚCIEŻKIEdytuj (utwórz, jeśli nie istnieje)
distutils.cfg
plik znajdujący się wC:\Python26\Lib\distutils\distutils.cfg
:Upewnij się, że zmienne środowiskowe są ustawione, otwierając nowy plik cmd.exe.
źródło
x86_64-w64-mingw32-gcc
orazi686-w64-mingw32-gcc
. Te pliki wykonywalne są najwyraźniej takie same, jak te, które można normalnie uzyskać od Mingw (po prostu skompilowane w środowisku Cygwin).