2015-09-26 20 views
21

Ich habe einige PyCrypto-Installer für Python 3.3 und 3.4 gefunden, aber nichts für Python 3.5.PyCrypto on python 3.5

Wenn ich versuche, PyCrypton zu installieren pip install verwenden, heißt es:

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

Gibt es eine Möglichkeit PyCrypto auf Python 3.5 in Windows 10 installiert werden? Vielen Dank!

+1

beste Lösung hier: https : //pycryptodome.readthedocs.io/en/latest/src/installation.html – JeremiahBarrar

Antwort

39

Diese Warnung sollte den Build nicht stoppen, wahrscheinlich fehlt Ihnen der Visual Studio 2015-Compiler, der zum Erstellen binärer Erweiterungen (die PyCrypto hat) erforderlich ist. Finden Sie in der Python Packaging User Guide für welchen Compiler Sie für Ihre Version von Python benötigen.

Der Grund, warum Sie den Compiler benötigen, ist, dass PyCrypto offiziell nur eine Quelldistribution anbietet. Also, haben Sie zwei Möglichkeiten für die Installation von PyCrypto:

1. Erstellen von Quelle:

Das ist eigentlich ziemlich einfach, aber es erfordert, dass Sie einige zusätzliche Software installieren. Lesen Sie erneut das oben verlinkte Python Packaging-Benutzerhandbuch, um den geeigneten Compiler für Ihre Version von Python zu finden. Ich denke, dass es eine Option gibt, nur den relevanten Compiler für Python zu installieren, wenn Sie eine benutzerdefinierte Installation von Visual Studio durchführen.

Dann, nachdem die Installation abgeschlossen ist, und Sie wahrscheinlich Ihren Computer neu starten mussten, sollten Sie einfach pip install pycrypto ausführen und pip wird die Quelle herunterladen und für Sie kompilieren.

Wenn Sie auch Rad installiert (pip install wheel) dann ein Rad von der Quelle und Cache es, das ist pip schaffen wird, wie ich die Räder erstellt, die ich 2.

2. a Built Installieren in Option teilen bin Verteilung von einem Drittanbieter

Ich bin zufällig ein Drittanbieter und habe Räder geteilt, die ich für PyCrypto 2.6.1 mit Python 3.5 für 32 und 64-Bit-Windows on my GitHub repo kompiliert habe. Ich habe Installationsanweisungen in die Readme-Datei dieses Repos aufgenommen.

Wenn Sie nach einer integrierten Distribution für eine ältere Version von Python und/oder PyCrypto suchen, habe ich auch eine Verbindung zu Voidspace auf der Readme meines Repos (Entschuldigung, ich bin hier auf 2 Links beschränkt).

+0

Das ist eine große Hilfe! – ksaylor11

+0

Ausgezeichnete Arbeit @sfbahr, rettete mich aus einer Welt der Schmerzen. – Linef4ult

+1

Jetzt suche ich nach Python3.6 64bit Windows: | – mithuntnt

0

Verwenden Sie diesen Beitrag als Referenz dieses Verfahren über Windows-Systemen zu tun: http://codeyarns.com/2012/04/28/python-version-not-found-in-registry-error/

dass verwenden, können wir dies tun:

  1. das Windows Ausführen-Dialog verwenden, öffnen Sie das Programm regedit.
  2. Exportieren von HKEY_LOCAL_MACHINE\SOFTWARE\Python (python_install_35.reg). Gehe zu diesem Ort und führe "export" im Kontextmenü aus.
  3. Bearbeiten Sie die reg-Datei und ersetzen HKEY_LOCAL_MACHINE mit HKEY_CURRENT_USER
  4. eine Konsole (cmd) Führen Aufforderung als Administrator und führen regedit python_install_35.reg
  5. die Einträge in der Registrierung hinzufügen
  6. Siehe die geänderten Einträge mit regedit und wechseln HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5 zu HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.3.
  7. erneut aus dem Installateur
2

Verwenden pycryptodome statt! Es ist ein Projekt nach wie vor beibehalten (Juni 2017) und beinhaltet die Funktionen von PyCrypto für Python 3.x (es funktionierte für mich auf Python 3.6)

Projekt Seite:

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

+0

Ich benutze pycrypto auf Linux, und das hat gut funktioniert, um den Server in einer Windows-Umgebung zu testen. Hat die genau gleiche Schnittstelle wie pycrypto, es ist ein Drop-In-Ersatz. – k26dr