2012-12-09 20 views
15

Sto tentando di installare la libreria PyCrypto 2.6 sul mio computer. Ma continuo a ricevere il seguente erroreErrore di installazione PyCrypto su Windows

D:\Software\Python\package\pycrypto-2.6>python setup.py build 
running build 
running build_py 
running build_ext 
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. 

building 'Crypto.Random.OSRNG.winrandom' extension 
error: Unable to find vcvarsall.bat 

il mio sistema ha Windows 8 Pro a 64 bit, Visual Studio Enterprise 2012 e Python 3.3

Per correggere l'errore ho cercato di impostare la variabile d'ambiente VS90COMNTOOLS=%VS110COMNTOOLS% come consigliato per fmuecke in the post error: Unable to find vcvarsall.bat ma non ha funzionato per me.

Qualcuno può indicarmi come risolvere questo errore.

FYI, non installare VC2008 ecc ..

+0

Python 3.3 è realizzato con VC2010. Una regola generale è che le estensioni devono essere costruite con lo stesso VC usato per Python. Suggerisco di installare VC2010, provare con esso e aggiornare la domanda di conseguenza. – SquareRootOfTwentyThree

+0

Ho già detto nella mia domanda che installare un'altra istanza di Visual Studio/VC non è un'opzione per me. –

+0

Questo ha funzionato per me https://stackoverflow.com/a/41843310/2968001 –

risposta

13

sono riuscito ad installare pycrypto 2.6 utilizzando la prebuilt binary for Python3.3 da The Voidspace Python Modules.

In realtà non corregge lo error: Unable to find vcvarsall.bat per altri pacchetti che non dispongono di binari precompilati disponibili.

Tuttavia elimina la necessità di creare il pacchetto PyCrypto, permettendomi di installare PyCrypto sul mio sistema senza ottenere l'errore.

+0

Fantastico. Grazie! – wujj123456

+1

Ho fatto questo, usando 'easy_install pycrypto-2.6.win32-py3.3.exe' ma quando provo a' da Crypto.PublicKey importa RSA' ottengo: 'da.import winrandom ImportError: caricamento DLL fallito: il modulo specificato non è stato trovato. – deed02392

1

È possibile installare mingw64 e quindi eseguire dal file decompressi pycrypto directory:

python setup.py costruire --compiler = mingw32

4

So che questa è una vecchia questione, ma ho anche bisogno oggi molto è tempo di fare il paramiko. Voglio usare Python 3.4 e su voidspace, non ci sono binari prebuild per 3.4.

Infine, ho ottenuto un pycrypto wokring con l'installazione di "Microsoft Studio Express 2010 C++" ed eseguire dalla cartella pycrypto 2.7:

python setup.py build --compiler msvc 
python setup.py install 
python setup.py bdist_wininst 

Tutti i "trucchi" con variabili enviroment non funziona per me.

Se aiuta qualcuno, tutto il ringraziamento va a: http://flintux.wordpress.com/2014/04/30/pycrypto-for-python-3-4-on-windows-7-64bit/

+0

Questa è la vera risposta, quella selezionata è un aggiramento. –

+0

Solo per FYI: non funziona in Python 3.5.1 –

2

ho appena usato

https://www.microsoft.com/en-gb/download/details.aspx?id=44266

con setuptools> 6.0 ed eseguire

'pip installare pycrypto'

e ha funzionato

+1

Le risposte di solo collegamento non sono particolarmente utili se il collegamento non funziona - se si presume che il collegamento sia morto, che cosa posso ancora ottenere dalla risposta? Tutto quello che so è che ho bisogno di scaricare qualcosa prima del resto delle tue istruzioni. – stwalkerster

+0

Come nota, il download è per "Microsoft Visual C++ Compiler per Python 2.7" e questo ha risolto il problema per me. (Edizione di Visual Studio 2015 Community no) – user

2

Per Python 3.5 si può fare questo:

installa un binario pycrypto da questo sito: https://github.com/sfbahr/PyCrypto-Wheels

Il modo migliore per farlo, è:

64bits Python

c: \ Python35 Installazione di \ Scripts \ pip.exe --use-wheel --no-index --find-links = https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto

32bit Python

c: \ Python35 \ Scripts \ PIP.EXE installare --use ruote --no-index --find-link = https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win32.whl pycrypto

Naturalmente sostituire c: \ Python35 \ Scripts \ PIP.EXE dal pitone percorso pip

per conoscere la versione di python, python correre e guardare l'architettura visualizzata fra parentesi:

C: \ Users \ utilisateur> python Python 3.5.1 | Anaconda 4.0.0 (64-bit) | (predefinito, 16 febbraio 2016, 09:49:46) [MSC v.1900 64 bit (AMD64)] su win32 Digitare "help", "copyright", "credits" o "license" per ulteriori informazioni .

Spero che questo possa essere d'aiuto.

0

Sto usando Windows 10 - Tutto quello che dovevo fare era aggiornamento il mio sistema con Visual C++ creare strumenti 2015 che ho trovato in questa pagina: https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/

Circa a metà pagina, potrete vedere alcune opzioni di download - scegliere la tua versione python e scarica il pacchetto corretto

Ho quindi reimportato il programma che stavo cercando di installare e NESSUN errore in più! Woohoo!

0

se siete VS 2010

SET VS90COMNTOOLS =% VS100COMNTOOLS%

VS 2012

SET VS90COMNTOOLS =% VS110COMNTOOLS%

VS 2013

SET VS90COMNTOOLS =% VS120COMNTOOLS%

e poi python setup.py install