it-swarm.com.de

ImportError: Kein Modul mit dem Namen Crypto.Cipher

Wenn ich versuche, app.py (Python 3.3, PyCrypto 2.6) auszuführen, meldet meine virtualenv den oben aufgelisteten Fehler. Meine Importaussage ist nur from Crypto.Cipher import AES. Ich habe nach Duplikaten gesucht und man könnte sagen, dass es einige gibt, aber ich habe die Lösungen ausprobiert (obwohl die meisten nicht einmal Lösungen sind) und nichts funktioniert.

Nachfolgend sehen Sie, wie die Dateien für PyCrypto aussehen:

92
Graham Smith

Ich hatte das gleiche Problem (allerdings unter Linux). Die Lösung war ziemlich einfach - fügen Sie hinzu:

libraries:
- name: pycrypto
  version: "2.6"

in meine app.yaml-Datei. Da dies in der Vergangenheit richtig funktioniert hat, gehe ich davon aus, dass dies eine neue Anforderung ist.

51
Patrick Jordan

Bei der Installation mit pip hatte ich auf meinem Mac dasselbe Problem. Ich entfernte dann pycrypto und installierte es erneut mit easy_install wie folgt:

pip uninstall pycrypto
easy_install pycrypto

auch als Lukas kommentierte: Wenn Sie Probleme haben, diese Befehle auszuführen, führen Sie sie als Admin aus (Sudo). 

Hoffe das hilft!

171
elad silver

Ich habe dies auch auf dem Mac gemacht, und es scheint damit zu tun zu haben, dass ich ein unglücklicherweise gleich benanntes "Crypto" -Modul (nicht sicher, was dafür ist) neben pycrypto via pip installiert hat.

Der Fix scheint das Entfernen von Crypto und Pycrypto mit Pip zu sein:

Sudo pip uninstall crypto
Sudo pip uninstall pycrypto

und pycrypto erneut installieren:

Sudo pip install pycrypto

Jetzt funktioniert es wie erwartet, wenn ich so etwas mache:

from Crypto.Cipher import AES
84
user42935

Auf dem Mac ... wenn Sie auf dieses Thema stoßen ... versuchen Sie zu sehen, ob Sie stattdessen Krypto importieren können?

Wenn ja, ist der Paketname das Problem C vs. c. Um dies zu umgehen, fügen Sie diese Zeilen einfach oben in Ihr Skript ein.

import crypto
import sys
sys.modules['Crypto'] = crypto

Sie sollten Paramiko erfolgreich importieren können.

27
pho

typ Befehl:

Sudo pip install pycrypto
16
ruxming

Ich habe die Lösung gefunden. Problem liegt wahrscheinlich in der Vertraulichkeit (unter Windows).

Ändern Sie einfach den Namen des Ordners: 

  • C:\Python27\Lib\site-packages\crypto
  • an: C:\Python27\Lib\site-packages\Crypto

So wurde der Ordner nach der Installation von pycrypto benannt: enter image description here

Ich habe es geändert in: enter image description here

Und jetzt funktioniert der folgende Code gut: enter image description here

14
damian1baran

Die Deinstallation von crypto und pycrypto funktioniert bei mir. Dann nur noch pycrypto installieren:

pip uninstall crypto 
pip uninstall pycrypto 
pip install pycrypto
10
tthreetorch

Ich hatte das gleiche Problem 'ImportError: No module named Crypto.Cipher', seit ich GoogleAppEngineLauncher (Version> 1.8.X) mit GAE Boilerplate unter OSX 10.8.5 (Mountain Lion) verwendet habe. In Google App Engine SDK mit der Laufzeitumgebung python 2.7 ist pyCrypto 2.6 die empfohlene Version. Die Lösung, die für mich funktionierte, war ...

1) Download pycrypto2.6 source extrahiere es irgendwo (~/Downloads/pycrypto26)

z. B. git clone https://github.com/dlitz/pycrypto.git

2) cd (cd ~/Downloads/pycrypto26) dann 

3) Führen Sie den folgenden Terminalbefehl im vorherigen Ordner aus, um pyCrypto 2.6 manuell im GAE-Ordner zu installieren. 

Sudo python setup.py install --install-lib /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
8
Lazaros Dinakis

wenn Sie Redhat, Fedora, Centos verwenden:

Sudo yum install pycrypto

für meinen Fall kann ich es nicht mit pip installieren

8
hamed

Versuchen Sie es mit pip3 :

Sudo pip3 install pycrypto
3
Arthur Araújo

Es könnte ein Problem beim Laden von Python-Modulen sein, die über Pip installiert wurden. Siehe diese Antwort Python-Module, die über pip aus dem Site-Packages-Verzeichnis installiert wurden, können nicht geladen werden und versuchen Sie es mit etwas

python -m pip install pycrypto
2
user666N

Für CentOS 7.4 habe ich zuerst pip und dann pycrypto mit pip installiert:

> Sudo yum -y install python-pip 
> Sudo python -m pip install pycrypto
2
stuhpa

Ich löse dieses Problem, indem Sie die Groß-/Kleinschreibung in "upper ..__" ändern. Stellen Sie sicher, dass "" von Crypto.Cipher AES "" nicht "" von Crypto.Cipher "AES" importiert wird.

1
Zesheng LI

Arbeitete für mich (Ubuntu 17.10)

Venv entfernen und mit python v3.6 neu erstellen

pip3 install PyJWT
Sudo apt-get install build-essential libgmp3-dev python3-dev
pip3 install cryptography
pip3 install pycryptodome
pip3 install pycryptodomex

Pycrypto ist veraltet, hatte Probleme damit, benutzte Pycryptodome

1
applekate

Bis heute habe ich dasselbe Problem beim Importieren von from Crypto.Cipher import AES, obwohl ich pycrypto ein paar Mal installiert bzw. neu installiert habe. Am Ende ist es, weil pip standardmäßig auf python3 gesetzt ist. 

~ pip --version pip 18.0 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

durch die Installation von pycrypo mit pip2 sollte dieses Problem gelöst werden.

1
Ryan

Dieses Problem kann durch die Installation des C++ - Compilers (Python27 oder Python26) behoben werden. Laden Sie es von Microsoft https://www.Microsoft.com/en-us/download/details.aspx?id=44266 herunter und führen Sie den Befehl: pip install pycrypto erneut aus, um den GUI-Webzugriff auszuführen, wenn Sie den Prozess beenden von easy_install.exe.

1
user8094201

Für Windows 7:

Ich habe diesen Fehler "Modulfehler Crypo.Cipher import AES" erhalten

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:

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 ..

1
JayaPrakash

Wenn Sie ein Mac sind, benennen Sie den Ordner lib lib/python3.7/site-packages/crypto in lib/python3.7/site-packages/Crypto um.

0
Jack

Ich bin mit 3.7. Das Problem bleibt bestehen, nachdem ich versucht habe, Crypto zu installieren. Und Pycrypto schlägt in meinem Fall einfach fehl. Am Ende ging mein Build über das folgende Paket: pip install pycryptodome

0
Quansheng Li

Vielleicht sollten Sie Folgendes tun: Pycryptodome == 3.6.1 Fügen Sie es zu Requirements.txt hinzu und installieren Sie es, was den Fehlerbericht beseitigen soll Es funktioniert für mich!

0
imissyou