Quando tento executar app.py (Python 3.3, PyCrypto 2.6), meu virtualenv continua retornando o erro listado acima. Minha declaração de importação é justa from Crypto.Cipher import AES
. Procurei duplicatas e você pode dizer que existem, mas tentei as soluções (embora a maioria nem sejam soluções) e nada funcionou.
Você pode ver como são os arquivos do PyCrypto abaixo:
python
virtualenv
pip
easy-install
pycrypto
Graham Smith
fonte
fonte
ImportError
é mostrado empython 2
enquantopython 3
nele estáModuleNotFoundError
.python3 -c 'import foo'
produzImportError: No module named 'foo'
. Perdi alguma coisa?Respostas:
Eu tive o mesmo problema (embora no Linux). A solução era bastante simples - adicione:
ao meu
app.yaml
arquivo. Como isso funcionou corretamente no passado, presumo que seja um novo requisito.fonte
app.yaml
arquivo?pycrypto
mais! Verifique minha resposta para uma solução melhor!Tive o mesmo problema no meu Mac ao instalar com
pip
. Em seguida, removipycrypto
e instalei novamente comeasy_install
, assim:também como Luke comentou: Se você tiver problemas para executar esses comandos, certifique-se de executá-los como admin (sudo)
Espero que isto ajude!
EDITAR: Como o winklerr corretamente observou acima, o pycrypto não é mais seguro. Em vez disso, use o pycryptodome, que é um substituto imediato
fonte
Eu encontrei isso no Mac também, e parece estar relacionado a ter um módulo "crypto", infelizmente com o mesmo nome (não tenho certeza para que serve) instalado junto com o pycrypto via pip.
A correção parece estar removendo criptografia e pycrypto com pip:
e reinstalar o pycrypto:
Agora funciona como esperado quando eu faço algo como:
fonte
No mac ... se você topar com isso ... tente ver se você pode importar criptografia em vez disso?
Se assim for .. o nome do pacote é a questão
C
vsc
. Para contornar isso ... basta adicionar essas linhas no início do seu script.Você sabe que deve conseguir importar paramiko com sucesso.
fonte
Desinstalando
crypto
epycrypto
funciona em mim. Em seguida, instale apenaspycrypto
:fonte
AVISO: Não use
pycrypto
mais!Como você pode ler nesta página , o uso de não
pycrypto
é mais seguro:SOLUÇÃO: Use Python3 e
pycryptodome
!TL; DR:
pip3 install pycryptodome
Certifique-se de desinstalar outras versões de
crypto
oupycrypto
primeiro.Configurando um novo ambiente virtual
Para instalar um ambiente virtual e configurar tudo, use os seguintes comandos:
Para obter mais informações, consulte pycryptodome.org
fonte
Eu encontrei a solução. O problema está provavelmente na distinção entre maiúsculas e minúsculas (no Windows).
Basta alterar o nome da pasta:
C:\Python27\Lib\site-packages\crypto
C:\Python27\Lib\site-packages\Crypto
Este é o nome da pasta após a instalação do pycrypto:
Eu mudei para:
E agora o seguinte código funciona bem:
fonte
digite o comando:
fonte
se você estiver usando redhat, fedora, centos:
sudo yum install pycrypto
para o meu caso, eu não poderia instalá-lo usando pip
fonte
Eu tive o mesmo problema
'ImportError: No module named Crypto.Cipher'
, desde usar GoogleAppEngineLauncher (versão> 1.8.X) com GAE Boilerplate no OSX 10.8.5 (Mountain Lion). No SDK do Google App Engine com tempo de execução python 2.7, pyCrypto 2.6 é a versão sugerida. A solução que funcionou para mim foi ...1) Baixe a fonte pycrypto2.6 e extraia em algum lugar (
~/Downloads/pycrypto26
)por exemplo, git clone https://github.com/dlitz/pycrypto.git
2)
cd
(cd ~/Downloads/pycrypto26
) então3) Execute o seguinte comando de terminal dentro da pasta anterior para instalar o pyCrypto 2.6 manualmente na pasta GAE.
fonte
Se você é um macos, renomeie a pasta lib
lib/python3.7/site-packages/crypto
paralib/python3.7/site-packages/Crypto
fonte
Experimente com pip3 :
fonte
Pode ser um problema de carregamento de módulos Python instalados via pip. Consulte esta resposta Não é possível carregar módulos Python instalados via pip do diretório de pacotes do site e tente algo como
fonte
Funcionou para mim (Ubuntu 17.10)
Removendo o venv e criando-o novamente com python v3.6
O Pycrypto está obsoleto, teve problemas com ele, usou o Pycryptodome
fonte
Eu resolvo esse problema mudando a primeira letra para maiúscula. Certifique-se de que '' importe AES de Crypto.Cipher '' não '' de AES de importação de crypto.Cipher ''.
fonte
Para CentOS 7.4, instalei primeiro o pip e depois pycrypto usando pip:
fonte
Até o momento, estou tendo o mesmo problema ao importar,
from Crypto.Cipher import AES
mesmo depois de instalar / reinstalar o pycrypto algumas vezes. No final das contas é porque pip padronizou para python3.instalar o pycrypto com pip2 deve resolver este problema.
fonte
Para Windows 7:
Eu obtive este erro "Erro de módulo Crypo.Cipher import AES"
Para instalar o Pycrypto no Windows,
Tente isso no prompt de comando,
Definir caminho = C: \ Python27 \ Scripts (ou seja, caminho onde easy_install está localizado)
Em seguida, execute o seguinte,
easy_install pycrypto
Para Ubuntu:
Tente isto,
Baixe o Pycrypto em " https://pypi.python.org/pypi/pycrypto "
Em seguida, altere o caminho atual para o caminho baixado usando seu terminal:
Por exemplo: root @ xyz-virtual-machine: ~ / pycrypto-2.6.1 #
Em seguida, execute o seguinte usando o terminal:
python setup.py install
Funcionou para mim. A esperança funciona para todos ..
fonte
Esse problema pode ser corrigido instalando o compilador C ++ (python27 ou python26). Baixe-o da Microsoft https://www.microsoft.com/en-us/download/details.aspx?id=44266 e execute novamente o comando:
pip install pycrypto
para executar o acesso web gui quando você matar o processo deeasy_install.exe
.fonte
Talvez você deva fazer isso: pycryptodome == 3.6.1 adicione-o a requirements.txt e instale, o que deve eliminar o relatório de erro. funciona para mim!
fonte
Isso funcionou para mim
fonte
Bem, isso pode parecer estranho, mas após a instalação
pycrypto
oupycryptodome
, precisamos atualizar o nome do diretóriocrypto
paraCrypto
emlib/site-packages
Referência
fonte
Estou com 3.7. O problema permanece depois que tento instalar o crypto. E a criptografia simplesmente falha no meu caso. Então, no final, minha construção passou pelo pacote abaixo: pip install pycryptodome
fonte