it-swarm.com.de

Wie installiere ich PyCrypto unter Windows?

Ich habe alle anderen Google-Quellen und SO -Threads gelesen, ohne dass etwas funktioniert.

Python 2.7.3 32bit installiert auf Windows 7 64bit. Herunterladen, Extrahieren und anschließendes Installieren der PyCrypto-Ergebnisse in "Unable to find vcvarsall.bat".

Also installiere ich MinGW und packe das auf der Installationszeile als Compiler der Wahl an. Aber dann bekomme ich die Fehlermeldung "RuntimeError: chmod error".

Wie umkreife ich das? Ich habe es mit pip versucht, was dasselbe Ergebnis ergibt. Ich habe eine vorgefertigte PyCrypto 2.3-Binärdatei gefunden und installiert, aber sie ist nirgends auf dem System zu finden (funktioniert nicht).

Irgendwelche Ideen?

129
Coldblackice

Wenn Sie noch keine C/C++ - Entwicklungsumgebung installiert haben, die mit den von Python.org verteilten Visual Studio-Binärdateien kompatibel ist, sollten Sie nur reine Python-Pakete oder Pakete installieren, für die eine Windows-Binärdatei verfügbar ist.

Glücklicherweise gibt es PyCrypto-Binärdateien für Windows: http://www.voidspace.org.uk/python/modules.shtml#pycrypto

UPDATE:
Wie @Udi in dem folgenden Kommentar vorschlägt, installiert der folgende Befehl auch pycrypto und kann auch in virtualenv verwendet werden:

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

Beachten Sie, um den relevanten Link für Ihr Setup aus diese Liste auszuwählen.

Wenn Sie nach Builds für Python 3.5 suchen, lesen Sie PyCrypto auf Python 3.5

177
Michael Dillon

Vor kurzem hat Microsoft einen eigenständigen Microsoft Visual C++ - Compiler für Python 2.7 veröffentlicht. Wenn Sie Python 2.7 verwenden, installieren Sie einfach diesen Compiler und Setuptools 6.0 oder höher. Die meisten Pakete mit C-Erweiterungen können jetzt problemlos kompiliert werden.

32
Jason R. Coombs

Nach Jahren und Jahren stimmte Python schließlich einer binären Verteilung namens wheel zu, die es erlaubt, sogar binäre Erweiterungen unter Windows zu installieren, ohne einen Compiler mit einfachem pip install packagename zu haben. Es gibt eine Liste der gängigen Pakete mit ihrem Status. Pycrypto ist noch nicht da, aber zum Beispiel lxml, PySide und Scrapy. 

Stand November 2015: pip uninstall pycrypto & pip install pycryptodome. Es ist eine pycrypto-Gabel mit neuen Funktionen und unterstützt das Rad. Er ersetzt pycrypto, sodass der vorhandene Code weiterhin funktioniert (siehe https://pycryptodome.readthedocs.org/de/latest/src/examples.html ).

20
Smit Johnth

Im Algemeinen

vcvarsall.bat ist Teil des Visual C++ - Compilers. Sie benötigen dies, um das zu installieren, was Sie installieren möchten. Versuchen Sie nicht einmal, mit MingGW umzugehen, wenn Ihr Python mit der Visual Studio-Toolchain kompiliert wurde und umgekehrt. Sogar die version der Microsoft-Toolkette ist wichtig. Python, das mit VS 2008 kompiliert wurde, funktioniert nicht mit Erweiterungen, die mit VS 2010 kompiliert wurden!

Sie müssen PyCrypto mit demselben Compiler kompilieren, mit dem die Version von Python kompiliert wurde. Google für "Vcvarsall.bat kann nicht gefunden werden", da dies die Ursache Ihres Problems ist, es ist ein sehr häufiges Problem beim Kompilieren von Python-Erweiterungen unter Windows.

Es gibt eine Menge Informationen und eine Menge zu lesen, um dies auf jedem System mit diesem Link richtig zu machen.

Verwenden Sie Visual Studio 2010 nicht oder nicht Visual Studio 2008

Soweit ich weiß, gilt das Folgende noch immer. Dieser Link wurde oben im Juni 2010 veröffentlicht und bezog sich auf den Versuch, Erweiterungen mit VS 2010 Express gegenüber den auf python.org verfügbaren Python-Installationsprogrammen zu erstellen.

Seien Sie vorsichtig, wenn Sie dies tun. Python 2.6 und 2.7 von python.org sind mit Visual Studio 2008-Compilern erstellt. Sie müssen mit .__ verknüpfen. das gleiche CRT (msvcr90.dll) wie Python.

Visual Studio 2010 Express-Links mit der falschen CRT-Version: msvcr100.dll.

Wenn Sie dies tun, müssen Sie Python auch mit Visual Studio 2010 .__ neu erstellen. Ausdrücken. Sie können das standardmäßige binäre Python-Installationsprogramm nicht für .__ verwenden. Windows. Sie können auch keine C/C++ - Erweiterungen verwenden, die mit einem anderen .__ erstellt wurden. Compiler als Visual Studio 2010 (Express).

Meinung: Dies ist ein Grund, warum ich Windows für alle ernsthaften Entwicklungsarbeiten für OSX aufgegeben habe!}

18
user177800

Für VS2010:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

Für VS2012:

SET VS90COMNTOOLS=%VS110COMNTOOLS%

dann ruf an:

pip install pyCrypto 
17
Chandan

PyCryptodome ist eine fast kompatible Gabel von PyCrypto mit Windows-Rädern, die auf pypi verfügbar ist.

Sie können es mit einem einfachen installieren:

pip install pycryptodome

Die Website enthält Anweisungen zum Erstellen von Quellen mit den Microsoft-Compilern.

Ich habe es geschafft, pycrypto mit MinGW32 und MSYS zu kompilieren. Dies setzt voraus, dass Sie pip oder easy_install installiert haben.

So habe ich es gemacht:

1) Installieren Sie MinGW32 . Nehmen wir für diese Erklärung an, dass sie in C:\MinGW installiert ist. Wenn Sie das Installationsprogramm verwenden, das ich empfehle, wählen Sie den C++ - Compiler. aus, den MSYS mit MinGW installieren sollte.

2) Fügen Sie 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 zu Ihrem %PATH% hinzu. Wenn Sie nicht vertraut sind, ist dieser Artikel sehr hilfreich.

3) Führen Sie in der Suchleiste msys aus. Das MSYS-Terminal wird geöffnet. Für diejenigen, die mit Cygwin vertraut sind, funktioniert es auf ähnliche Weise.

4) Innerhalb des MSYS-Terminals sollte pip install pycrypto danach fehlerfrei laufen. 

6
darnold0714

Für Windows 7:

Um Pycrypto unter Windows zu installieren,

Versuchen Sie dies in der Eingabeaufforderung,

Set path = C:\Python27\Scripts (d. H. Pfad, in dem sich easy_install befindet)

Dann führe folgendes aus:

easy_install pycrypto

Für Ubuntu:

Versuche dies,

Laden Sie Pycrypto von " https://pypi.python.org/pypi/pycrypto " herunter.

Dann ändern Sie Ihren aktuellen Pfad in den heruntergeladenen Pfad mit Ihrem Terminal. Der Benutzer sollte root sein:

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

Führen Sie dann Folgendes über das Terminal aus:

python setup.py installieren

Es hat für mich gearbeitet. Hoffnung klappt für alle ..

5
JayaPrakash

Für alle, die Python 3.4 suchen, habe ich ein git repo mit einem Installer gefunden, der einfach funktioniert. Hier sind die direkten Links zu x64 und x32

5
user25064

Es ist möglich, PyCrypto mit den Windows 7 SDK-Toolkits zu erstellen. Es gibt zwei Versionen des Windows 7-SDK. Die ursprüngliche Version (für .NET 3.5) enthält die VS 2008-Befehlszeilencompiler. Es können sowohl 32- als auch 64-Bit-Compiler installiert werden.

Der erste Schritt ist das Kompilieren von mpir , um eine schnelle Arithmetik bereitzustellen. Ich habe den Prozess dokumentiert, den ich in der Bibliothek gmpy verwende. Detaillierte Anweisungen zum Erstellen von mpir mithilfe des SDK-Compilers finden Sie unter sdk_build

Die wichtigsten Schritte für die Verwendung der SDK-Compiler aus einer DOS-Eingabeaufforderung sind:

1) Führen Sie je nach Bedarf entweder vcvars32.bat oder vcvars64.bat aus.

2) Führen Sie an der Eingabeaufforderung "set MSSdk = 1" aus.

3) Führen Sie an der Eingabeaufforderung "set DISTUTILS_USE_SDK = 1" aus.

Damit sollte "python setup.py install" erfolgreich sein, vorausgesetzt, es gibt keine anderen Probleme mit dem C-Code. Ich erinnere mich jedoch vaag, dass ich ein paar PyCrypto-Dateien bearbeiten musste, um mpir zu aktivieren und die mpir-Bibliotheken zu finden, aber ich habe im Moment kein Windows-System. Es wird ein paar Tage dauern, bis ich die Schritte neu erstellen kann. Wenn Sie bis dahin keinen Erfolg gemeldet haben, poste ich die PyCrypto-Schritte. Die Schritte setzen voraus, dass Sie mpir kompilieren konnten.

Ich hoffe das hilft. 

4
casevh

Also installiere ich MinGW und packe das in der Installationszeile als Compiler nach Wahl. Dann bekomme ich aber den Fehler "RuntimeError: chmod error".

Dieser Fehler "RuntimeError: chmod error" tritt auf, weil das Installationsskript den Befehl chmod nicht gefunden hat.

Wie umkreife ich das?

Lösung

Sie müssen nur die MSYS-Binärdateien zum PATH hinzufügen und das Installationsskript erneut ausführen.

(NB: Beachten Sie, dass MinGW so mit MSYS kommt)

Beispiel

Wenn wir uns zum Beispiel im Ordner C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1> befinden

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

Optional: Möglicherweise müssen Sie das Skript bereinigen, bevor Sie das Skript erneut ausführen:

`C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1> python setup.py clean`
3
Bludzee
  1. Gehen Sie zu "Microsoft Visual C++ - Compiler für Python 2.7" und fahren Sie basierend auf den "Systemanforderungen" fort (dies ist das, was ich unten zusammengestellt habe).

  2. Setuptools installieren (setuptools 6.0 oder höher ist erforderlich, damit Python dieses Compilerpaket automatisch erkennt) entweder durch:pip install setuptoolsoder download "Setuptools Bootstrapping-Installationsprogramm "source from , speichern Sie diese Datei irgendwo in Ihrem Dateisystem als" ez_python.py "und installieren Sie sie mit: python ez_python.py

  3. Rad installieren (Das Rad wird für die Erstellung vorgefertigter Binärpakete empfohlen). Sie können es installieren mit: pip install wheel

  4. Öffnen Sie die Windows-Eingabeaufforderung cmd.exe (mit "Als Administrator ausführen") für Installieren Sie "Microsoft Visual C++ - Compiler für Python 2.7" für alle Benutzer. Sie können dazu den folgenden Befehl verwenden: msiexec/i C:\users\jozko\download\VCForPython27.msi ALLUSERS=1 verwenden Sie einfach Ihren eigenen Pfad zur Datei: msiexec /i <path to MSI> ALLUSERS=1

  5. Jetzt sollten Sie pycrypto installieren können mit: pip install pycrypto

3
damian1baran

Versuchen Sie es einfach mit:

pip install pycryptodome

oder:

pip install pycryptodomex

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

3
Kade

Dies ist wahrscheinlich nicht die optimale Lösung, aber Sie können das kostenlose Visual C++ Express-Paket von MS herunterladen und installieren. Dadurch erhalten Sie den C++ - Compiler, den Sie zum Kompilieren des PyCrypto-Codes benötigen.

2
sizzzzlerz

Wenn Sie unter Windows arbeiten und Probleme mit der Installation von Pycrypcto haben, verwenden Sie einfach: pip install pycryptodome. Es funktioniert wie ein Wunder und wird Ihr Leben viel einfacher machen, als viele Konfigurationen und Optimierungen vorzunehmen.

2
john

Meine Antwort bezieht sich möglicherweise nicht auf das Problem, das hier erwähnt wurde, aber ich hatte dasselbe Problem mit Python 3.4 , wobei Crypto.Cipher kein gültiger Import war. Also habe ich versucht, PyCrypto zu installieren und habe Probleme bekommen.

Nach einigen Recherchen, die ich mit 3.4 gefunden habe, sollte man pycryptodome verwenden.

Ich installiere pycryptodome mit pycharm und ich war gut.

von Crypto.Cipher importieren Sie AES

1
Virendra Patel

Also installiere ich MinGW und packe das auf der Installationszeile als Compiler der Wahl an. Dann bekomme ich aber den Fehler "RuntimeError: chmod error".

Sie müssen das msys-Paket unter MinGW installieren 

enter image description here

und fügen Sie folgende Einträge in Ihre PATH-Umgebungsvariable ein.

  • C:\MinGW\bin
  • C:\MinGW\msys\1.0\bin [Hier finden Sie die ausführbare Datei von chmod]

Führen Sie dann Ihren Befehl über die normale Windows-Eingabeaufforderung aus.

1
Aniket Thakur

Aus seltsamen rechtlichen Gründen werden Binärdateien nicht wie üblich veröffentlicht. Leerraum ist normalerweise die beste zweite Quelle. Seit einiger Zeit wurde der voidspace-Betreuer jedoch nicht aktualisiert. Verwenden Sie die Zip von [ https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0]

0
Zimmermann

Schritt 1: Installieren Sie Visual C++ 2010 Express von hier

(Installieren Sie Microsoft Visual Studio 2010 Service Pack 1 nicht.)

Schritt 2: Entfernen Sie alle Microsoft Visual C++ 2010 Redistributable-Pakete aus der Systemsteuerung\Programme und Funktionen. Wenn Sie dies nicht tun, schlägt die Installation fehl und es erscheint ein obskurer Fehler "Schwerwiegender Fehler während der Installation".

Schritt 3: Installieren Sie die Offlineversion von Windows SDK für Visual Studio 2010 (v7.1) von hier . Dies ist für 64-Bit-Erweiterungen erforderlich. Windows hat eine integrierte Halterung für ISOs wie Pismo. 

Schritt 4: Sie müssen die ISO-Datei mit dem Pismo File Mount Audit Package installieren. Laden Sie Pismo von hier

Schritt 5: Klicken Sie mit der rechten Maustaste auf die heruntergeladene ISO-Datei und wählen Sie das Einhängen mit Pismo aus. Danach installieren Sie das Setup\SDKSetup.exe anstelle von setup.exe.

Schritt 6a: Erstellen Sie eine Datei vcvars64.bat in C:\Programme (x86)\Microsoft Visual Studio 10.0\VC\bin\AMD64, indem Sie das Verzeichnis in C:\Programme (x86)\Microsoft Visual Studio-Version\VC\on ändern die Eingabeaufforderung . Geben Sie den Befehl Eingabeaufforderung: cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r ein.

Schritt 6b: Zum Konfigurieren dieses Eingabeaufforderungsfensters für 64-Bit-Befehlszeilen-Builds für x86-Plattformen geben Sie an der Eingabeaufforderung Folgendes ein: vcvarsall x86 Klicken Sie auf here , um weitere Optionen anzuzeigen.

Schritt 7: Installieren Sie PyCrypto an der Eingabeaufforderung, indem Sie Folgendes eingeben: C:\Python3X>pip install -U your_wh_file

Ich hatte Pycharm für Python.

  1. Gehe zu pycharm -> file -> setting -> project interpreter

  2. Klicke auf +

  3. Suchen Sie nach "pycrypto" und installieren Sie das Paket

Hinweis: Wenn Sie "Microsoft Visual C++ Compiler für Python 2.7" nicht installiert haben, werden Sie zur Installation aufgefordert. Führen Sie nach Abschluss der Installation die oben genannten Schritte aus, damit das Programm ordnungsgemäß funktioniert.

0
RAKESH