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.7
Na 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.
Krok 1 to pobranie programu Visual Studio Express 2010.
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
to dobre miejsce na rozpoczęcie. Pobierz instalator i uruchom go (vc_web.exe). Nie potrzebujesz dodatkowego pobierania SQL 2008.
Będziesz także potrzebował zestawu Windows SDK (obecnie 7.1) dla kompilatorów 64-bitowych - chyba że chcesz wykonywać tylko wersje 32-bitowe, które nie są w pełni obsługiwane ...
http://www.microsoft.com/en-us/download/details.aspx?id=8279 to dobry punkt wyjścia do pobrania tego - po uruchomieniu winsdk_web.exe będziesz chciał uruchomić!
Domyślna instalacja tutaj jest w porządku.
Na koniec pobierz i zainstaluj aktualizację Windows SDK 7.1 SP1:
http://www.microsoft.com/en-us/download/details.aspx?id=4422
I, aby naprawić brakujący plik nagłówka, VS2010 SP1.
http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5
I, do cholery, napraw brakujący plik wsadowy dla VS2010 Express. To robi się wręcz absurdalne.
W C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64 utwórz plik „vcvars64.bat” w następujący sposób (musisz działać jako administrator):
CALL setenv / x64
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
Nie przejmuj się tym pytaniem. Ktoś tutaj zauważył ten element w menu: Start-> Wszystkie programy-> Microsoft Windows SDK v7.1 -> Wiersz polecenia Windows SDK 7.1
Spowoduje to uruchomienie zadania wsadowego, które wydaje się konfigurować środowisko robocze dla kompilatora. W tym monicie możesz wpisać „setup.py build” lub „setup.py install”.
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 ;
- Zainstaluj program Visual Studio Express 2010 (najlepiej bez zaktualizowanych składników redystrybucyjnych lub serwera SQL).
- Zainstaluj zestaw Windows 7.1 SDK
- Zainstaluj aktualizację SDK 7.1 SP1 i poprawkę pliku nagłówka SP20 VS2010 (ten krok może nie być wymagany).
- Twórz ręcznie
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat
z zawartościąCALL setenv /x64
- Start-> Wszystkie programy-> Microsoft Windows SDK v7.1 -> Windows SDK 7.1 Wiersz polecenia, aby otworzyć specjalny wiersz polecenia x64, którego można następnie używać z python / easy_install / pip / etc (łącznie z tymi w virtual_envs).