Lorsque j'essaie d'exécuter app.py (Python 3.3, PyCrypto 2.6), virtualenv renvoie constamment l'erreur mentionnée ci-dessus. Ma déclaration d'importation est simplement from Crypto.Cipher import AES
. J'ai cherché des doublons et vous pourriez dire qu'il y en a, mais j'ai essayé les solutions (bien que la plupart ne soient même pas des solutions) et rien n'a fonctionné.
Vous pouvez voir à quoi ressemblent les fichiers de PyCrypto ci-dessous:
J'ai eu le même problème (bien que sur Linux). La solution était assez simple - ajoutez:
libraries:
- name: pycrypto
version: "2.6"
dans mon fichier app.yaml. Puisque cela a fonctionné correctement dans le passé, je suppose que ceci est une nouvelle exigence.
J'ai eu le même problème sur mon Mac lors de l'installation avec pip
. J'ai ensuite retiré pycrypto
et l'ai réinstallé avec easy_install
, comme ceci:
pip uninstall pycrypto
easy_install pycrypto
aussi comme l'a commenté Luke: Si vous avez des problèmes pour exécuter ces commandes, assurez-vous de les exécuter en tant qu'administrateur (Sudo)
J'espère que cela t'aides!
J'ai aussi rencontré ce problème sur Mac, et cela semble être lié au fait d'avoir un module "crypto" malheureusement nommé de la même manière (je ne sais pas à quoi cela sert) installé à côté de pycrypto via pip.
Le correctif semble supprimer à la fois crypto et pycrypto avec pip:
Sudo pip uninstall crypto
Sudo pip uninstall pycrypto
et réinstaller pycrypto:
Sudo pip install pycrypto
Maintenant, cela fonctionne comme prévu lorsque je fais quelque chose comme:
from Crypto.Cipher import AES
Sur le Mac ... si vous rencontrez ce problème ... essayez de voir si vous pouvez importer un chiffrement à la place?
Si c'est le cas .. le nom du paquet est le problème C
vs c
. Pour résoudre ce problème, ajoutez ces lignes en haut de votre script.
import crypto
import sys
sys.modules['Crypto'] = crypto
Vous savez pouvoir importer le paramiko avec succès.
commande type:
Sudo pip install pycrypto
La désinstallation de crypto
et pycrypto
fonctionne pour moi. Ensuite, installez uniquement pycrypto
:
pip uninstall crypto
pip uninstall pycrypto
pip install pycrypto
J'ai le même problème, 'ImportError: No module named Crypto.Cipher'
, depuis que j'ai utilisé GoogleAppEngineLauncher (version> 1.8.X) avec GAE Boilerplate sur OSX 10.8.5 (Mountain Lion). PyCrypto 2.6 est la version suggérée dans le kit de développement logiciel de Google App Engine avec Python 2.7. La solution qui a fonctionné pour moi était ...
1) Téléchargez l’extrait source pycrypto2.6 quelque part (~/Downloads/pycrypto26
)
par exemple, git clone https://github.com/dlitz/pycrypto.git
2) cd
(cd ~/Downloads/pycrypto26
) puis
3) Exécutez la commande de terminal suivante dans le dossier précédent afin d’installer pyCrypto 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, je ne pourrais pas l'installer avec pip
Essayez avec pip3 :
Sudo pip3 install pycrypto
Cela pourrait être un problème de chargement des modules python installés via pip. Reportez-vous à cette réponse Impossible de charger les modules Python installés via pip depuis le répertoire site-packages et essayez quelque chose comme:
python -m pip install pycrypto
Pour CentOS 7.4, j'ai d'abord installé pip, puis pycrypto à l'aide de pip:
> Sudo yum -y install python-pip
> Sudo python -m pip install pycrypto
Je résous ce problème en modifiant la casse de la première lettre en majuscule . Assurez-vous que "" de Crypto.Cipher importe AES "" pas "de de crypto.Cipher import AES" ".
Travaillé pour moi (Ubuntu 17.10)
Supprimer venv et le recréer 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 obsolète, a eu des problèmes avec, utilisé Pycryptodome
À ce jour, je rencontre le même problème lors de l'importation de from Crypto.Cipher import AES
même si j'ai installé/réinstallé pycrypto à quelques reprises. En fin de compte, c’est parce que pip est paramétré par défaut sur python3.
~ pip --version
pip 18.0 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
installer pycrypo avec pip2 devrait résoudre ce problème.
Ce problème peut être résolu en installant le compilateur C++ (python27 ou python26). Téléchargez-le à partir de Microsoft https://www.Microsoft.com/en-us/download/details.aspx?id=44266 et réexécutez la commande: pip install pycrypto
pour exécuter l'accès Web via l'interface graphique lorsque vous interrompez le processus de easy_install.exe
.
Pour Windows 7:
J'ai eu cette erreur "Erreur de module Crypo.Cipher import AES"
Pour installer Pycrypto sous Windows,
Essayez ceci dans l'invite de commande,
Définir le chemin = C:\Python27\Scripts (c'est-à-dire le chemin où se trouve easy_install)
Puis exécutez ce qui suit,
easy_install pycrypto
Pour Ubuntu:
Essaye ça,
Téléchargez Pycrypto à partir de " https://pypi.python.org/pypi/pycrypto "
Puis changez votre chemin actuel en chemin téléchargé en utilisant votre terminal:
Exemple: root @ xyz-virtual-machine: ~/pycrypto-2.6.1 #
Puis exécutez ce qui suit en utilisant le terminal:
installation de python.py
Cela a fonctionné pour moi. L'espoir fonctionne pour tous ..
Si vous êtes un macos, renommez le dossier lib lib/python3.7/site-packages/crypto
en lib/python3.7/site-packages/Crypto
Je suis avec 3.7. Le problème persiste après que j'essaie d'installer crypto. Et pycrypto échoue dans mon cas. Donc finalement, ma construction a été transmise via le paquet ci-dessous: pip install pycryptodome
Peut-être devriez-vous ceci: Pycryptodome == 3.6.1 Ajoutez-le à requirements.txt et installez-le, ce qui devrait éliminer le rapport d'erreur . Ça marche pour moi!