Ich habe jede andere Google-Quelle und jeden SO-Thread gelesen, ohne dass etwas funktioniert.
Python 2.7.3 32bit
installiert am Windows 7 64bit
. Das Herunterladen, Extrahieren und anschließende Installieren von PyCrypto führt zu"Unable to find vcvarsall.bat".
Also installiere ich MinGW und gehe das in der Installationszeile als Compiler der Wahl an. Aber dann bekomme ich den Fehler"RuntimeError: chmod error".
Wie um alles in der Welt komme ich darum herum? Ich habe versucht, pip zu verwenden, was das gleiche Ergebnis liefert. Ich habe eine vorgefertigte PyCrypto 2.3-Binärdatei gefunden und diese installiert, aber sie ist auf dem System nirgends zu finden (funktioniert nicht).
Irgendwelche Ideen?
python
windows
python-2.7
pycrypto
Coldblackice
quelle
quelle
Antworten:
Wenn Sie noch keine C / C ++ - Entwicklungsumgebung installiert haben, die mit den von Python.org vertriebenen 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 sind PyCrypto-Binärdateien für Windows verfügbar: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
UPDATE:
Wie @Udi im Kommentar unten vorschlägt, wird der folgende Befehl ebenfalls installiert
pycrypto
und kann auch verwendet werdenvirtualenv
:Beachten Sie, dass Sie aus dieser Liste den entsprechenden Link für Ihr Setup auswählen müssen
Wenn Sie nach Builds für Python 3.5 suchen, lesen Sie PyCrypto unter Python 3.5
quelle
easy_install http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe
easy_install
installiert das Paket in einer virtuellen Umgebung (falls vorhanden) und unterdrückt alle grafischen Interaktionen (um zu automatisieren oder einfach nur Zeit zu sparen).Microsoft hat kürzlich einen eigenständigen, dedizierten 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.
quelle
Nach Jahren und Jahren stimmte Python schließlich einer binären Verteilung zu,
wheel
die es ermöglicht, sogar binäre Erweiterungen unter Windows zu installieren, ohne einen Compiler mit simple zu habenpip install packagename
. Es gibt eine Liste der beliebtesten Pakete mit ihrem Status. Pycrypto ist noch nicht da, aber lxml, PySide und Scrapy zum Beispiel.Bearbeitet im November 2015 :
pip uninstall pycrypto
&pip install pycryptodome
. Es ist einepycrypto
Gabel mit neuen Funktionen und unterstützt das Rad. Es wird ersetztpycrypto
, sodass vorhandener Code weiterhin funktioniert (siehe https://pycryptodome.readthedocs.org/en/latest/src/examples.html ).quelle
Für VS2010:
Für VS2012:
Dann ruf an:
quelle
Allgemein
vcvarsall.bat
ist Teil des Visual C ++ - Compilers. Sie benötigen diesen, 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. Auch die Version der Microsoft-Toolkette ist wichtig. Mit VS 2008 kompiliertes Python funktioniert nicht mit mit VS 2010 kompilierten Erweiterungen!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 Wurzel Ihres Problems ist. Dies ist ein sehr häufiges Problem beim Kompilieren von Python-Erweiterungen unter Windows.
Es gibt viele Informationen und viel zu lesen, um dies auf jedem System, auf dem Sie sich befinden, mit diesem Link richtig zu machen.
Achten Sie darauf, dass Sie Visual Studio 2010 nicht verwenden oder Visual Studio 2008 nicht verwenden
Soweit ich weiß, ist das Folgende noch wahr. Dies wurde im obigen Link im Juni 2010 veröffentlicht und bezieht sich auf den Versuch, Erweiterungen mit VS 2010 Express für die auf python.org verfügbaren Python-Installationsprogramme zu erstellen.
Meinung: Dies ist ein Grund, warum ich Windows wegen aller ernsthaften Entwicklungsarbeiten für OSX aufgegeben habe!
quelle
PyCryptodome ist eine fast kompatible Gabel von PyCrypto mit Windows-Rädern, die auf pypi verfügbar sind .
Sie können es mit einem einfachen installieren:
Die Website enthält Anweisungen zum Erstellen aus Quellen mit Microsoft-Compilern.
quelle
Ich habe es geschafft,
pycrypto
mitMinGW32
und zu kompilierenMSYS
. Dies setzt voraus, dass Sie habenpip
odereasy_install
installiert haben.So habe ich es gemacht:
1) Installieren Sie MinGW32 . Nehmen wir für diese Erklärung an, dass es in installiert ist
C:\MinGW
. Wählen Sie bei Verwendung des von mir empfohlenen.
Installationsprogramms den C ++ - Compiler aus, mit dem MSYS installiert werden sollMinGW
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
Ihrem hinzu%PATH%
. Wenn Sie nicht vertraut sind, ist dieser Artikel sehr hilfreich.3) Führen Sie in der Suchleiste aus,
msys
und das MSYS-Terminal wird geöffnet. Für diejenigen, die damit vertraut sindCygwin
, funktioniert es auf ähnliche Weise.4) Danach
pip install pycrypto
sollte das MSYS-Terminal fehlerfrei ausgeführt werden.quelle
Für Windows 7:
So installieren Sie Pycrypto unter Windows:
Versuchen Sie dies in der Eingabeaufforderung,
Setze path = C: \ Python27 \ Scripts (dh Pfad, in dem sich easy_install befindet)
Führen Sie dann Folgendes aus:
easy_install pycrypto
Für Ubuntu:
Versuche dies,
Laden Sie Pycrypto von " https://pypi.python.org/pypi/pycrypto " herunter.
Ändern Sie dann Ihren aktuellen Pfad mithilfe Ihres Terminals in den heruntergeladenen Pfad, und der Benutzer sollte root sein:
Beispiel: root @ xyz-virtual-machine: ~ / pycrypto-2.6.1 #
Führen Sie dann mit dem Terminal Folgendes aus:
python setup.py installieren
Es hat bei mir funktioniert. Hoffnung funktioniert für alle ..
quelle
Für diejenigen unter Ihnen, die nach Python 3.4 suchen, habe ich ein Git-Repo mit einem Installationsprogramm gefunden, das einfach funktioniert. Hier sind die direkten Links für x64 und x32
quelle
Es ist möglich, PyCrypto mit den Windows 7 SDK-Toolkits zu erstellen. Es gibt zwei Versionen des Windows 7 SDK. Die Originalversion (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 besteht darin, mpir zu kompilieren , um eine schnelle Arithmetik bereitzustellen. Ich habe den Prozess, den ich verwende, in der gmpy- Bibliothek dokumentiert . Detaillierte Anweisungen zum Erstellen von mpir mit dem SDK-Compiler finden Sie unter sdk_build
Die wichtigsten Schritte zur Verwendung der SDK-Compiler über eine DOS-Eingabeaufforderung sind:
1) Führen Sie 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.
Dies sollte ermöglichen, dass "python setup.py install" erfolgreich ist, sofern keine anderen Probleme mit dem C-Code vorliegen. Aber ich erinnere mich sehr gut daran, dass ich einige PyCrypto-Dateien bearbeiten musste, um mpir zu aktivieren und die mpir-Bibliotheken zu finden, aber ich habe mein Windows-System momentan nicht in Betrieb. Es wird ein paar Tage dauern, bis ich Zeit habe, die Schritte neu zu erstellen. Wenn Sie bis dahin keinen Erfolg gemeldet haben, werde ich die PyCrypto-Schritte veröffentlichen. Bei den Schritten wird davon ausgegangen, dass Sie mpir kompilieren konnten.
Ich hoffe das hilft.
quelle
Versuchen Sie es einfach mit:
oder:
Quelle: https://pypi.python.org/pypi/pycryptodome
quelle
Dieser Fehler
"RuntimeError: chmod error"
tritt auf, weil das Installationsskript denchmod
Befehl nicht gefunden hat.Lösung
Sie müssen nur die MSYS-Binärdateien zum PATH hinzufügen und das Installationsskript erneut ausführen .
(Hinweis: Beachten Sie, dass MinGW mit MSYS geliefert wird.)
Beispiel
Zum Beispiel, wenn wir uns im Ordner befinden
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
Optional: Möglicherweise müssen Sie bereinigen, bevor Sie das Skript erneut ausführen:
quelle
Gehen Sie zu " Microsoft Visual C ++ - Compiler für Python 2.7 " und fahren Sie basierend auf "Systemanforderungen" fort (dies habe ich getan, um die folgenden Schritte zusammenzustellen).
Installieren Sie setuptools (setuptools 6.0 oder höher ist erforderlich, damit Python dieses Compilerpaket automatisch erkennt ), indem Sie entweder:
pip install setuptools
oder die Quelle "Setuptools bootstrapping installer" von herunterladen , diese Datei irgendwo auf Ihrem Dateisystem als "ez_python.py" speichern und installieren mit:python ez_python.py
Rad einbauen (Rad wird für die Herstellung vorgefertigter Binärpakete empfohlen). Sie können es installieren mit:
pip install wheel
Öffnen Sie die Windows-Eingabeaufforderung mit erhöhten Rechten cmd.exe (mit "Als Administrator ausführen"), um "Microsoft Visual C ++ - Compiler für Python 2.7" für alle Benutzer zu installieren . Sie können dazu den folgenden Befehl verwenden: msiexec / i verwendet
C:\users\jozko\download\VCForPython27.msi ALLUSERS=1
einfach Ihren eigenen Pfad zur Datei:msiexec /i <path to MSI> ALLUSERS=1
Jetzt sollten Sie in der Lage sein, pycrypto zu installieren mit:
pip install pycrypto
quelle
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 macht Ihr Leben viel einfacher als der Versuch, viele Konfigurationen und Optimierungen vorzunehmen.
quelle
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.
quelle
Meine Antwort bezieht sich möglicherweise nicht auf die hier erwähnte Problembehebung, aber ich hatte das gleiche Problem mit Python 3.4, bei dem Crypto.Cipher kein gültiger Import war. Also habe ich versucht, PyCrypto zu installieren und bin auf Probleme gestoßen.
Nach einigen Recherchen habe ich mit 3.4 herausgefunden, dass Sie verwenden sollten Pycryptodome sollten .
Ich installiere pycryptodome mit pycharm und ich war gut.
aus Crypto.Cipher AES importieren
quelle
Sie müssen das msys-Paket unter MinGW installieren
und fügen Sie folgende Einträge in Ihre PATH env-Variable 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 an der normalen Windows-Eingabeaufforderung aus.
quelle
Aus seltsamen rechtlichen Gründen werden Binärdateien nicht auf die normale Weise veröffentlicht. Der Leerraum ist normalerweise die beste zweite Quelle. Seit geraumer Zeit wurde der Voidspace-Betreuer jedoch nicht aktualisiert. Verwenden Sie die Zip-Datei von [ https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0]
quelle
Schritt 1: Installieren Sie Visual C ++ 2010 Express von hier aus .
(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 mit einem obskuren Fehler "Schwerwiegender Fehler während der Installation" fehl.
Schritt 3: Installieren Sie von hier aus die Offline-Version von Windows SDK für Visual Studio 2010 (v7.1) . Dies ist für 64-Bit-Erweiterungen erforderlich. Windows hat eine integrierte Montage für ISOs wie Pismo.
Schritt 4: Sie müssen die ISO-Datei mit dem Pismo File Mount Audit Package installieren. Laden Sie Pismo hier herunter
Schritt 5: Klicken Sie mit der rechten Maustaste auf die heruntergeladene ISO-Datei und wählen Sie Mount with Pismo. Installieren Sie anschließend Setup \ SDKSetup.exe anstelle von setup.exe.
Schritt 6a: Erstellen Sie eine vcvars64.bat-Datei 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 an der Eingabeaufforderung den Befehl ein:
cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r
Schritt 6b: Um dieses Eingabeaufforderungsfenster für 64-Bit-Befehlszeilen-Builds zu konfigurieren, die auf x86-Plattformen abzielen, geben Sie an der Eingabeaufforderung Folgendes ein:
vcvarsall x86
Klicken Sie hier, um weitere Optionen anzuzeigen.Schritt 7: Installieren Sie PyCrypto an der Eingabeaufforderung, indem Sie Folgendes eingeben:
C:\Python3X>pip install -U your_wh_file
quelle
Ich hatte Pycharm für Python.
Gehe zu
pycharm -> file -> setting -> project interpreter
Klicke auf +
Suchen
"pycrypto"
und installieren Sie das PaketHinweis: Wenn Sie "Microsoft Visual C ++ - Compiler für Python 2.7" nicht installiert haben, werden Sie zur Installation aufgefordert. Wenn die Installation abgeschlossen ist, führen Sie die obigen Schritte aus.
quelle