ImportError: aucun module nommé Crypto.Chiffrement

quand j'essaie de courir app.py (Python 3.3, Phycrypto 2.6) mon virtualenv continue de retourner l'erreur listée ci-dessus. Ma déclaration d'importation est juste from Crypto.Cipher import AES . J'ai cherché des copies et vous pourriez dire qu'il y en a quelques-unes, mais j'ai essayé les solutions (bien que la plupart ne sont même pas des solutions) et rien n'a fonctionné.

vous pouvez voir ce que les fichiers sont comme pour PyCrypto ci-dessous:

79
demandé sur Graham Smith 2013-10-28 00:39:10

17 réponses

j'ai eu le même problème (bien que sous Linux). La solution était assez simple - ajouter:

libraries:
- name: pycrypto
  version: "2.6"

à mon application.fichier yaml. Puisque cela a fonctionné correctement dans le passé, je suppose qu'il s'agit d'une nouvelle exigence.

43
répondu Patrick Jordan 2013-11-16 03:28:52

j'ai eu le même problème sur mon Mac lors de l'installation avec pip . J'ai alors enlevé pycrypto et je l'ai installé à nouveau avec easy_install , comme ceci:

pip uninstall pycrypto
easy_install pycrypto

aussi comme Luke l'a commenté: si vous avez de la difficulté à exécuter ces commandes, assurez-vous de les exécuter en tant qu'administrateur (sudo)

Espérons que cette aide!

160
répondu elad silver 2015-01-11 10:20:36

je suis tombé sur ce sur Mac aussi, et il semble être lié à avoir un malheureusement similaire nommé" crypto " module (pas sûr de ce que c'est pour) installé à côté de pycrypto via pip.

Le correctif semble être la suppression des deux crypto et pycrypto avec pip:

sudo pip uninstall crypto
sudo pip uninstall pycrypto

et la réinstallation de pycrypto:

sudo pip install pycrypto

maintenant cela fonctionne comme prévu quand je fais quelque chose comme:

from Crypto.Cipher import AES
70
répondu user42935 2016-08-19 23:18:31

sur le mac... si vous avez ce.. essayez de voir si vous pouvez importer crypto à la place?

si oui.. le nom du paquet est la question C vs c . Pour contourner ce problème.. ajoutez simplement ces lignes en haut de votre script.

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

vous savez devrait pouvoir importer paramiko avec succès.

25
répondu pho 2014-01-14 14:54:08

type commande:

sudo pip install pycrypto
16
répondu ruxming 2013-12-09 09:23:16

j'ai trouvé la solution. question est probablement dans la sensibilité de cas (sur Windows).

il suffit de changer le nom du dossier:

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

c'est ainsi que le nom du dossier a été donné après l'installation de phycrypto: enter image description here

je l'ai changé pour: enter image description here

et maintenant le code suivant fonctionne très bien: enter image description here

12
répondu damian1baran 2016-07-30 22:39:05

j'ai eu le même problème 'ImportError: No module named Crypto.Cipher' , depuis L'utilisation de GoogleAppEngineLauncher (version > 1.8.X) avec Gae Boilerplate sur OSX 10.8.5 (Lion des montagnes). Dans Google App Engine SDK avec python 2.7 runtime, la version proposée est celle de phycrypto 2.6. La solution qui a fonctionné pour moi était...

1) Télécharger phycrypto2.6 source extraire quelque part ( ~/Downloads/pycrypto26 )

p.ex. clone git https://github.com/dlitz/pycrypto.git

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

3) Exécutez la commande de terminal suivante à l'intérieur du dossier précédent afin d'installer tycrypto 2.6 manuellement dans le dossier GAE.

sudo python setup.py install --install-lib /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
7
répondu Lazaros Dinakis 2015-01-16 13:39:54

si vous utilisez redhat, fedora, centos:

sudo yum install pycrypto

pour mon cas, j'ai coouldnot installer à l'aide de pip

6
répondu hamed 2014-02-28 15:15:47

désinstaller crypto et pycrypto fonctionne sur moi. Puis n'installez que phycrypto. pip désinstaller crypto PIP désinstaller pycrypto pip install pycrypto

4
répondu tthreetorch 2017-09-28 08:22:16

Essayez avec pip3 :

sudo pip3 install pycrypto
1
répondu Arthur Araújo 2017-07-01 14:06:27

cela pourrait être un problème de chargement de modules python installés via pip. Référez - vous à cette réponse ne peut pas charger les modules Python installés via pip à partir du répertoire et essayez quelque chose comme

python -m pip install pycrypto
1
répondu user666N 2017-09-28 16:48:32

Pour Windows 7:

j'ai cette erreur "Module d'erreur Crypo.Code d'importation AES "

pour installer Phycrypto sous Windows,

Essayez ceci dans l'Invite de Commande,

Set path=C:\Python27\Scripts(I. e path where easy_install is located)

puis exécutez ce qui suit,

easy_install pycrypto

Pour Ubuntu:

Essayez cette,

télécharger Phycrypto de " https://pypi.python.org/pypi/pycrypto "

puis changez votre chemin courant en chemin téléchargé à l'aide de votre terminal:

Eg: root@xyz-virtual-machine:~ / phycrypto-2.6.1#

puis exécuter ce qui suit en utilisant le terminal:

python setup.py installer

ça a marché pour moi. L'espoir fonctionne pour tous..

0
répondu JayaPrakash 2015-04-12 09:38:52

Je résous ce problème en changeant la première lettre en majuscule. Assurez-vous "de Crypto.Cipher importation AES" pas "de crypto.Cipher import AES".

0
répondu Zesheng LI 2015-06-11 06:18:31

ce problème peut être corrigé en installant le compilateur C++ (python27 ou python26). Télécharger à partir de Microsoft https://www.microsoft.com/en-us/download/details.aspx?id=44266 et relancez la commande: pip install pycrypto pour exécuter l'accès web gui lorsque vous tuez le processus de easy_install.exe .

0
répondu user8094201 2017-05-31 21:10:36

pour CentOS 7.4 j'ai d'abord installé pip, puis phycrypto en utilisant pip:

> sudo yum -y install python-pip 
> sudo python -m pip install pycrypto
0
répondu stuhpa 2017-12-11 11:57:38

a travaillé pour moi (Ubuntu 17.10)

Supprimer venv et le créer à nouveau avec python v3.6

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

Pycrypto est déprécié, avait des problèmes avec lui, utilisé Pycryptodome

0
répondu applekate 2018-03-07 12:33:10

à ce jour, j'ai le même problème lors de l'importation de from Crypto.Cipher import AES même si j'ai installé/réinstallé phycrypto plusieurs fois. En fin de compte, c'est parce que pip a fait défaut à python3.

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

l'installation de pycrypo avec pip2 devrait résoudre ce problème.

0
répondu Ryan 2018-08-16 03:47:32