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:
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.
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!
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
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.
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:
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
si vous utilisez redhat, fedora, centos:
sudo yum install pycrypto
pour mon cas, j'ai coouldnot installer à l'aide de pip
désinstaller crypto et pycrypto fonctionne sur moi. Puis n'installez que phycrypto. pip désinstaller crypto PIP désinstaller pycrypto pip install pycrypto
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
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..
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".
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
.
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
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
à 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.