Ho avuto questo problema usando Python 3.4.1 su Windows 7 x64 , e sfortunatamente i pacchetti di cui avevo bisogno non avevano exe o ruote adatte che potevo usare. Questo sistema richiede alcuni 'soluzioni alternative', che sono dettagliati di seguito (e TLDR in basso ).
Usando le informazioni nella risposta di Jaxrtech sopra , ho determinato che avevo bisogno di Visual Studio C ++ 2010 (sys.version return MSC v.1600), quindi ho installato Visual C ++ 2010 Express dal link nella sua risposta, che è http://go.microsoft .com /? linkid = 9709949 . Ho installato tutto con gli aggiornamenti, ma come puoi leggere di seguito, questo è stato un errore. Al momento è necessario installare solo la versione originale di Express (nessun aggiornamento).
vcvarsall.bat ora era presente, ma c'era un nuovo errore quando si installa il pacchetto query_vcvarsall raise ValueError(str(list(result.keys())))ValueError: [u'path']
. Esistono altre domande di stackoverflow con questo errore, ad esempio Errori durante la creazione / installazione del modulo C per Python 2.7
Ho determinato da quella risposta che 2010 Express installa solo compilatori a 32 bit. Per ottenere compilatori a 64 bit (e altri), è necessario installare l'SDK di Windows 7.1. Vedere http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
Questo non sarebbe stato installato per me, e il programma di installazione ha restituito l'errore installation failed with return code 5100
. Ho trovato la soluzione al seguente link: http://support.microsoft.com/kb/2717426 . In breve, se sono installate versioni più recenti di ridistribuibile di Microsoft Visual C ++ 2010 x86 e x64, sono in conflitto con quelle del programma di installazione dell'SDK e devono essere prima disinstallate.
L'SDK si è quindi installato, ma ho notato che vcvars64.bat non esisteva ancora C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
, né nelle sue sottocartelle. vcvarsall.bat esegue il file batch vcvars64, quindi senza di esso il pacchetto python non verrebbe ancora installato (ho dimenticato l'errore mostrato in questo momento).
Ho quindi trovato alcune istruzioni qui: http://www.cryptohaze.com/wiki/index.php/Windows_7_Build_Setup#Download_VS_2010_and_Windows_SDK_7.1
Seguendo le istruzioni, avevo già installato Express e 7.1 SDK, quindi installato SDK 7.1 SP1 e fatto il SDK 7.1 SP1 correzione del file di intestazione mancante. Ho quindi creato manualmente vcvars64.bat con il contenuto CALL setenv /x64
. Incollerò tutte queste istruzioni qui, così non si perderanno.
Il passaggio 1 è scaricare Visual Studio Express 2010.
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
è un buon punto di partenza. Scarica il programma di installazione ed eseguilo (vc_web.exe). Non è necessario il download aggiuntivo di SQL 2008.
Avrai anche bisogno dell'SDK di Windows (attualmente 7.1) per i compilatori a 64 bit - a meno che tu non voglia fare solo build a 32 bit, che non sono completamente supportate ...
http://www.microsoft.com/en-us/download/details.aspx?id=8279 è un buon punto di partenza per scaricare questo: ti consigliamo di eseguire winsdk_web.exe quando scaricato!
L'installazione predefinita qui va bene.
Infine, scarica e installa l'aggiornamento di Windows SDK 7.1 SP1:
http://www.microsoft.com/en-us/download/details.aspx?id=4422
E, per correggere il file di intestazione mancante, VS2010 SP1.
http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5
E, maledizione, correggi il file batch mancante per VS2010 Express. Questo sta diventando assolutamente assurdo.
In C: \ Programmi (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64, crea "vcvars64.bat" con il seguente comando (dovrai eseguire come amministratore):
CHIAMA setenv / x64
Il mio pacchetto python non è stato ancora installato (impossibile richiamare l'errore). Ho quindi trovato alcune istruzioni (copiate di seguito) per utilizzare lo speciale prompt dei comandi dell'SDK 7.1, consultare: https://mail.python.org/pipermail/distutils-sig/2012-February/018300.html
Non importa questa domanda. Qualcuno qui ha notato questo elemento nel menu: Start-> Tutti i programmi-> Microsoft Windows SDK v7.1 -> Prompt dei comandi di Windows SDK 7.1
Questo esegue un processo batch che sembra impostare un ambiente di lavoro per il compilatore. Da quel prompt, puoi digitare "setup.py build" o "setup.py install".
Ho aperto il prompt dei comandi di Windows SDK 7.1 come indicato e l'ho usato per eseguire easy_install sul pacchetto python. E finalmente, successo!
TLDR ;
- Installare Visual Studio Express 2010 (preferibilmente senza ridistribuibili aggiornati o server SQL).
- Installa l'SDK di Windows 7.1
- Installa aggiornamento SDK 7.1 SP1 e correzione del file di intestazione VS2010 SP1 (questo passaggio potrebbe non essere necessario).
- Crea manualmente
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat
con il contenutoCALL setenv /x64
- Start-> Tutti i programmi-> Microsoft Windows SDK v7.1 -> Windows SDK 7.1 Prompt dei comandi per aprire il prompt dei comandi x64 speciale, che può quindi essere utilizzato con python / easy_install / pip / etc (compresi quelli in virtual_envs).