Lorsque j'essaie d'exécuter app.py (Python 3.3, PyCrypto 2.6), mon virtualenv continue de renvoyer l'erreur répertoriée ci-dessus. Ma déclaration d'importation est juste 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 pour PyCrypto ci-dessous:
python
virtualenv
pip
easy-install
pycrypto
Graham Smith
la source
la source
ImportError
est affichépython 2
pendantpython 3
qu'il estModuleNotFoundError
.python3 -c 'import foo'
cèdeImportError: No module named 'foo'
. Ai-je oublié quelque chose?Réponses:
J'ai eu le même problème (bien que sur Linux). La solution était assez simple - ajoutez:
à mon
app.yaml
dossier. Puisque cela fonctionnait correctement dans le passé, je suppose que c'est une nouvelle exigence.la source
app.yaml
fichier?pycrypto
! Vérifiez ma réponse pour une meilleure solution!J'ai eu le même problème sur mon Mac lors de l'installation avec
pip
. Je l'ai ensuite retirépycrypto
et installé à nouveau aveceasy_install
, comme ceci:également comme Luke l'a commenté: Si vous rencontrez 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!
EDIT: Comme winklerr le note correctement ci-dessus, pycrypto n'est plus sûr. Utilisez plutôt pycryptodome, c'est un remplacement instantané
la source
J'ai rencontré cela sur Mac également, 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:
et réinstaller pycrypto:
Maintenant, cela fonctionne comme prévu lorsque je fais quelque chose comme:
la source
Sur le mac ... si vous rencontrez cela ... essayez de voir si vous pouvez importer du crypto à la place?
Si oui .. le nom du paquet est la question
C
vsc
. Pour contourner ce problème ... ajoutez simplement ces lignes en haut de votre script.Vous savez que vous devriez pouvoir importer paramiko avec succès.
la source
Désinstallation
crypto
etpycrypto
fonctionne sur moi. Ensuite, installez uniquementpycrypto
:la source
AVERTISSEMENT: ne
pycrypto
plus utiliser !Comme vous pouvez le lire sur cette page , l'utilisation de
pycrypto
n'est plus sûre:SOLUTION: utilisez Python3 et
pycryptodome
!TL; DR:
pip3 install pycryptodome
Assurez-vous de désinstaller d'abord les autres versions de
crypto
oupycrypto
.Mettre en place un nouvel environnement virtuel
Pour installer un environnement virtuel et tout configurer, utilisez les commandes suivantes:
Pour plus d'informations, consultez pycryptodome.org
la source
J'ai trouvé la solution. Le problème est probablement lié au respect de la casse (sous Windows).
Changez simplement le nom du dossier:
C:\Python27\Lib\site-packages\crypto
C:\Python27\Lib\site-packages\Crypto
Voici comment le dossier a été nommé après l'installation de pycrypto:
Je l'ai changé en:
Et maintenant, le code suivant fonctionne correctement:
la source
commande de type:
la source
si vous utilisez redhat, fedora, centos:
sudo yum install pycrypto
pour mon cas, je ne pourrais pas l'installer en utilisant pip
la source
J'ai eu le même problème
'ImportError: No module named Crypto.Cipher'
, depuis que j'utilise GoogleAppEngineLauncher (version> 1.8.X) avec GAE Boilerplate sur OSX 10.8.5 (Mountain Lion). Dans le SDK Google App Engine avec l'environnement d'exécution python 2.7, pyCrypto 2.6 est la version suggérée. La solution qui a fonctionné pour moi était ...1) Téléchargez la source pycrypto2.6 extrayez-la quelque part (
~/Downloads/pycrypto26
)par exemple, git clone https://github.com/dlitz/pycrypto.git
2)
cd
(cd ~/Downloads/pycrypto26
) puis3) Exécutez la commande de terminal suivante dans le dossier précédent afin d'installer pyCrypto 2.6 manuellement dans le dossier GAE.
la source
Si vous utilisez un macos, renommez le dossier lib
lib/python3.7/site-packages/crypto
enlib/python3.7/site-packages/Crypto
la source
Essayez avec pip3 :
la source
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 à partir du répertoire site-packages et essayez quelque chose comme
la source
A travaillé pour moi (Ubuntu 17.10)
Supprimer venv et le créer à nouveau avec python v3.6
Pycrypto est obsolète, a eu des problèmes avec lui, a utilisé Pycryptodome
la source
Je résous ce problème en changeant la première lettre majuscule en majuscule. Assurez-vous que «» depuis Crypto.Cipher importe AES «» pas «depuis crypto.Cipher import AES».
la source
Pour CentOS 7.4, j'ai d'abord installé pip, puis pycrypto à l'aide de pip:
la source
À ce jour, j'ai le même problème lors de l'importation
from Crypto.Cipher import AES
même si j'ai installé / réinstallé pycrypto à plusieurs reprises. Finalement, c'est parce que pip est par défaut python3.l'installation de pycrypto avec pip2 devrait résoudre ce problème.
la source
Pour Windows 7:
J'ai traversé cette erreur "Erreur de module Crypo.Cipher import AES"
Pour installer Pycrypto sous Windows,
Essayez ceci dans l'invite de commande,
Set path = 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 depuis " https://pypi.python.org/pypi/pycrypto "
Puis changez votre chemin actuel vers le chemin téléchargé à l'aide de votre terminal:
Par exemple: root @ xyz-virtual-machine: ~ / pycrypto-2.6.1 #
Exécutez ensuite les opérations suivantes à l'aide du terminal:
installation de python setup.py
Cela a fonctionné pour moi. L'espoir fonctionne pour tous.
la source
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 de l'interface graphique lorsque vous arrêtez le processus deeasy_install.exe
.la source
Peut-être devriez-vous ceci: pycryptodome == 3.6.1 l'ajouter à requirements.txt et installer, ce qui devrait éliminer le rapport d'erreur. ça marche pour moi!
la source
Cela a fonctionné pour moi
la source
Eh bien cela peut paraître bizarre , mais après avoir installé
pycrypto
oupycryptodome
, nous avons besoin de mettre à jour le nom du répertoirecrypto
àCrypto
enlib/site-packages
Référence
la source
Je suis avec 3.7. Le problème persiste après avoir essayé d'installer crypto. Et pycrypto échoue dans mon cas. Donc à la fin ma construction est passée via le package ci-dessous: pip install pycryptodome
la source