2015-09-26 18 views
21

Ho trovato alcuni programmi di installazione PyCrypto per Python 3.3 e 3.4, ma niente per Python 3.5.PyCrypto on python 3.5

Quando provo ad installare PyCrypton utilizzando pip install, si dice:

warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. 

Esiste un modo per installare pycrypto su Python 3.5 in Windows 10? Grazie!

+1

migliore soluzione Qui: https : //pycryptodome.readthedocs.io/en/latest/src/installation.html – JeremiahBarrar

risposta

39

Questa avvertenza non deve interrompere la compilazione, più probabilmente ti manca il compilatore di Visual Studio 2015 che è necessario per creare estensioni binarie (che ha PyCrypto). Vedi lo Python Packaging User Guide per il quale compilatore è necessario per la tua versione di Python.

Il motivo per cui è necessario il compilatore è PyCrypto offre solo una distribuzione di origine ufficialmente. Quindi, avete due opzioni per l'installazione pycrypto:

1. Costruire dalla fonte:

Questo è in realtà abbastanza semplice, ma richiede di installare alcuni software aggiuntivo. Ancora una volta, fai riferimento alla Guida dell'utente di Python Packaging sopra riportata per trovare il compilatore adatto alla tua versione di Python. Penso che ci sia un'opzione per installare solo il compilatore rilevante per Python se si esegue un'installazione personalizzata di Visual Studio.

Quindi, una volta completata l'installazione, e probabilmente è stato necessario riavviare il computer, dovresti essere in grado di eseguire semplicemente pip install pycrypto e pip scaricherà l'origine e la compilerà per te.

Se è stato installato anche ruota (pip install wheel) poi pip creerà una ruota dalla sorgente e la cache, il che è come ho creato le ruote che sto condividendo l'opzione 2.

2. Installare un built Distribuzione da una terza parte

Mi capita di essere una terza parte e ho condiviso le ruote che ho compilato per PyCrypto 2.6.1 con Python 3.5 per Windows a 32 e 64 bit on my GitHub repo. Ho incluso le istruzioni di installazione sul readme di quel repository.

Se stai cercando una distribuzione costruita per una versione precedente di Python e/o PyCrypto, ho anche collegato a Voidspace nel readme del mio repository (mi dispiace, sono limitato a 2 link qui).

+0

Questo è di grande aiuto! – ksaylor11

+0

Un lavoro eccellente @sfbahr, mi ha salvato da un mondo di dolore. – Linef4ult

+1

Ora sto cercando finestre a 64 bit python3.6: | – mithuntnt

0

Utilizzare questo post come un riferimento a fare questa procedura rispetto ai sistemi Windows: http://codeyarns.com/2012/04/28/python-version-not-found-in-registry-error/

Usando questo, possiamo fare questo:

  1. Utilizzando la finestra di dialogo Esegui di Windows, aprire il programma regedit.
  2. Esporta da HKEY_LOCAL_MACHINE\SOFTWARE\Python (python_install_35.reg). Vai in questa posizione ed esegui "export" nel menu di scelta rapida.
  3. Modificare il file reg e sostituire HKEY_LOCAL_MACHINE con HKEY_CURRENT_USER
  4. Eseguire una console (cmd) pronta come amministratore ed eseguire regedit python_install_35.reg
  5. aggiungere le voci al Registro di sistema
  6. Vedi le voci modificate con regedit e cambiare HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5 a HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.3.
  7. eseguire nuovamente il programma di installazione
2

Usa pycryptodome invece! Si tratta di un progetto ancora mantenuto (giugno 2017) e comprende le funzioni di pycrypto per Python 3.xx (Ha funzionato per me su Python 3.6)

Progetto Pagina:

https://www.pycryptodome.org/en/latest/index.html

+0

Io uso pycrypto su Linux, e questo ha funzionato alla grande per testare il server in un ambiente Windows. Ha la stessa identica interfaccia di pycrypto, è una sostituzione drop-in. – k26dr