risposta-alla-domanda-sullo-sviluppo-web-bd.com

Come installo PyCrypto su Windows?

Ho letto tutti gli altri google source e SO thread, senza nulla funziona.

Python 2.7.3 32bit installato su Windows 7 64bit. Scarica, estrai e poi prova a installare i risultati PyCrypto in "Unable to find vcvarsall.bat".

Quindi installo MinGW e aggiungo quello sulla linea di installazione come compilatore di scelta. Ma poi ho l'errore "RuntimeError: chmod error".

Come faccio a cavarmela nel mondo? Ho provato a usare pip, che dà lo stesso risultato. Ho trovato un binario PyCrypto 2.3 preinstallato e l'ho installato, ma non si trova da nessuna parte sul sistema (non funziona).

Qualche idea?

129
Coldblackice

Se non è già installato un ambiente di sviluppo C/C++ compatibile con i binari di Visual Studio distribuiti da Python.org, è necessario attenersi all'installazione di pacchetti o pacchetti Python puri per i quali è disponibile un binario di Windows.

Fortunatamente, esistono binari PyCrypto disponibili per Windows: http://www.voidspace.org.uk/python/modules.shtml#pycrypto

AGGIORNARE:
Come suggerisce @Udi nel commento qui sotto, il seguente comando installa anche pycrypto e può essere usato anche in virtualenv:

easy_install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py2.7.exe

Si noti di scegliere il collegamento pertinente per la configurazione da questo elenco

Se stai cercando build per Python 3.5, vedi PyCrypto su python 3.5

177
Michael Dillon

Recentemente Microsoft ha rilasciato un compilatore dedicato Microsoft Visual C++ per Python 2.7 . Se stai usando Python 2.7, installa semplicemente quel compilatore e Setuptools 6.0 o successivo, e la maggior parte dei pacchetti con estensioni C verrà ora compilata facilmente.

32
Jason R. Coombs

Dopo anni e anni, python ha finalmente accettato una distribuzione binaria chiamata wheel che consente di installare anche estensioni binarie su Windows senza avere un compilatore con semplice pip install packagename. C'è un elenco di pacchetti popolari con il loro stato. Pythonto non c'è ancora, ma lxml, PySide e Scrapy per esempio. 

Edited Nov 2015: pip uninstall pycrypto & pip install pycryptodome. È un fork pycrypto con nuove funzionalità e supporta wheel. Sostituisce pycrypto, quindi il codice esistente continuerà a funzionare (vedere https://pycryptodome.readthedocs.org/en/latest/src/examples.html )

20
Smit Johnth

Per VS2010:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

Per VS2012:

SET VS90COMNTOOLS=%VS110COMNTOOLS%

quindi Chiama:

pip install pyCrypto 
17
Chandan

PyCryptodome è un fork di PyCrypto quasi compatibile con ruote di Windows disponibili su pypi .

Puoi installarlo con un semplice:

pip install pycryptodome

Il sito Web include istruzioni per costruirlo anche da fonti con i compilatori Microsoft.

Sono riuscito a ottenere pycrypto per compilare usando MinGW32 e MSYS. Ciò presuppone che pip o easy_install siano installati.

Ecco come l'ho fatto:

1) Installa MinGW32 . Per ragioni di questa spiegazione, supponiamo che sia installato in C:\MinGW. Quando si utilizza il programma di installazione, che consiglio, selezionare il compiler. C++ che MSYS deve installare con MinGW

2) Aggiungi c:\mingw\bin,c:\mingw\mingw32\bin,C:\MinGW\msys\1.0, c:\mingw\msys\1.0\bin and c:\mingw\msys\1.0\sbin al tuo %PATH%. Se non ti è familiare, questo articolo è molto utile.

3) Dalla barra di ricerca, eseguire msys e il terminale MSYS si aprirà. Per chi ha familiarità con Cygwin, funziona in modo simile.

4) Da dentro il terminale MSYS pip install pycrypto dovrebbe funzionare senza errori dopo questo. 

6
darnold0714

Per Windows 7:

Per installare Pycrypto in Windows,

Prova questo in Prompt dei comandi,

Impostare path = C:\Python27\Scripts (percorso i.e dove si trova easy_install)

Quindi eseguire il seguente,

easy_install pycrypto

Per Ubuntu:

Prova questo,

Scarica Pycrypto da " https://pypi.python.org/pypi/pycrypto "

Quindi modificare il percorso corrente per il percorso scaricato utilizzando il terminale e l'utente dovrebbe essere root:

Ad esempio: root @ xyz-virtual-machine: ~/pycrypto-2.6.1 #

Quindi eseguire il seguente utilizzando il terminale:

installazione python setup.py

Ha funzionato per me. La speranza funziona per tutti.

5
JayaPrakash

Per quelli di voi che cercano Python 3.4 ho trovato un git repo con un programma di installazione che funziona. Ecco i link diretti per x64 e x32

5
user25064

È possibile creare PyCrypto usando i toolkit SDK di Windows 7. Esistono due versioni di Windows 7 SDK. La versione originale (per .Net 3.5) include i compilatori della riga di comando di VS 2008. Possono essere installati entrambi i compilatori a 32 e 64 bit.

Il primo passo è compilare mpir per fornire aritmetica veloce. Ho documentato il processo che utilizzo nella libreria gmpy . Istruzioni dettagliate per costruire mpir usando il compilatore SDK possono essere trovate in sdk_build

I passaggi chiave per utilizzare i compilatori SDK da un prompt DOS sono:

1) Esegui vcvars32.bat o vcvars64.bat come appropriato.

2) Al prompt, eseguire "set MSSdk = 1"

3) Al prompt, eseguire "set DISTUTILS_USE_SDK = 1"

Questo dovrebbe consentire a "python setup.py install" di avere successo supponendo che non ci siano altri problemi con il codice C. Ma mi ricordo vagamente che ho dovuto modificare un paio di file PyCrypto per abilitare mpir e trovare le librerie di mpir ma al momento non ho il mio sistema Windows. Ci vorranno un paio di giorni prima che avrò il tempo di ricreare i passaggi. Se non hai segnalato il successo, pubblicherò i passaggi di PyCrypto. I passaggi assumeranno che sei stato in grado di compilare mpir.

Spero che questo possa essere d'aiuto. 

4
casevh

Quindi installo MinGW e aggiungo quello sulla riga di installazione come compilatore di scelta. Ma poi ho l'errore "RuntimeError: chmod error".

Questo errore "RuntimeError: chmod error" si verifica perché lo script di installazione non ha trovato il comando chmod.

Come faccio a cavarmela nel mondo?

Soluzione

Devi solo aggiungere i binari MSYS al PERCORSO e rieseguire lo script di installazione .

(N.B: nota che MinGW viene fornito con MSYS quindi)

Esempio

Ad esempio, se siamo nella cartella C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1>

C:\.....>set PATH=C:\MinGW\msys\1.0\bin;%PATH%
C:\.....>python setup.py install

Opzionale: potrebbe essere necessario pulire prima di eseguire nuovamente lo script:

`C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1> python setup.py clean`
3
Bludzee
  1. Vai a "Compilatore Microsoft Visual C++ per Python 2.7" e continua basato su "Requisiti di sistema" (questo è quello che ho fatto per mettere insieme i passaggi seguenti).

  2. Install setuptools (è necessario setuptools 6.0 o successivo affinché Python rilevi automaticamente questo pacchetto del compilatore) o da:pip install setuptoolso download "Setuptools bootstrapping installer" source da , salva questo file sul tuo filesystem come "ez_python.py" e installa con: python ez_python.py

  3. Install wheel (la ruota è consigliata per la produzione di pacchetti binari predefiniti). Puoi installarlo con: pip install wheel

  4. Aprire il prompt dei comandi cmd.exe di comando elevato di Windows (con "Esegui come amministratore") per installare "Microsoft Visual C++ Compiler per Python 2.7" per tutti gli utenti. È possibile utilizzare il seguente comando per farlo: msiexec/i C:\users\jozko\download\VCForPython27.msi ALLUSERS=1 basta usare il proprio percorso per file: msiexec /i <path to MSI> ALLUSERS=1

  5. Ora dovresti riuscire a installare pycrypto con: pip install pycrypto

3
damian1baran

Prova solo a usare:

pip install pycryptodome

o:

pip install pycryptodomex

Fonte: https://pypi.python.org/pypi/pycryptodome

3
Kade

Probabilmente questa non è la soluzione ottimale, ma potresti scaricare e installare il pacchetto gratuito di Visual C++ Express da MS. Questo ti darà il compilatore C++ necessario per compilare il codice PyCrypto.

2
sizzzzlerz

La mia risposta potrebbe non essere correlata al problema menzionato qui, ma ho avuto lo stesso problema con Python 3.4 dove Crypto.Cipher non era un'importazione valida. Così ho provato a installare PyCrypto e ho avuto dei problemi.

Dopo alcune ricerche che ho trovato con 3.4 dovresti usare pycryptodome .

Installo pycryptodome usando pycharm e sono stato bravo.

da Crypto.Cipher import AES

1
Virendra Patel

Quindi installo MinGW e aggiungo quello sulla linea di installazione come compilatore di scelta. Ma poi ho l'errore "RuntimeError: chmod error".

È necessario installare il pacchetto msys in MinGW 

enter image description here

e aggiungere le seguenti voci nella variabile env PATH.

  • C:\MinGW\bin
  • C:\MinGW\msys\1.0\bin [Questo è dove troverai l'eseguibile chmod]

Quindi eseguire il comando dal normale comando di Windows Prompt.

1
Aniket Thakur

A causa di strane ragioni legali, i binari non vengono pubblicati nel modo normale. Voidspace è normalmente la migliore seconda fonte. Ma da parecchio tempo, il maintainer di voidspace non si aggiorna. Utilizza la Zip da [ https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0]

0
Zimmermann

Passaggio 1: installare Visual C++ 2010 Express da here

(Non installare Microsoft Visual Studio 2010 Service Pack 1)

Passaggio 2: Rimuovere tutti i pacchetti ridistribuibili di Microsoft Visual C++ 2010 dal Pannello di controllo\Programmi e funzionalità. Se non lo fai, l'installazione fallirà con un errore "Errore irreversibile durante l'installazione".

Passaggio 3: installare la versione offline di Windows SDK per Visual Studio 2010 (v7.1) da qui . Ciò è richiesto per le estensioni a 64 bit. Windows ha incorporato il montaggio per ISO come Pismo. 

Passaggio 4: è necessario installare il file ISO con Pismo File Mount Audit Package. Scarica Pismo da qui

Passaggio 5: fare clic con il pulsante destro del mouse sul file ISO scaricato e scegliere mount con Pismo. Successivamente, installare Setup\SDKSetup.exe anziché setup.exe.

Passaggio 6a: Creare un file vcvars64.bat in C:\Programmi (x86)\Microsoft Visual Studio 10.0\VC\bin\AMD64 cambiando la directory in C:\Programmi (x86)\Microsoft Visual Studio versione\VC\on il comando Prompt . Digita il comando sul comando Prompt: cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r

Passaggio 6b: Per configurare questa finestra del prompt dei comandi per le build da riga di comando a 64 bit indirizzate alle piattaforme x86, al prompt Prompt digitare: vcvarsall x86 Fare clic su qui per ulteriori opzioni.

Passaggio 7: al prompt Prompt, installare PyCrypto digitando: C:\Python3X>pip install -U your_wh_file

Ho avuto Pycharm per Python.

  1. Vai a pycharm -> file -> setting -> project interpreter

  2. Clicca su +

  3. Cerca "pycrypto" e installa il pacchetto

Nota: Se non è installato "Compilatore Microsoft Visual C++ per Python 2.7", verrà richiesto l'installazione, una volta terminata l'installazione, provare i passaggi precedenti e dovrebbe funzionare correttamente.

0
RAKESH