Kiedy próbuję uruchomić app.py (Python 3.3, PyCrypto 2.6) mój virtualenv zwraca błąd wymieniony powyżej. Moje oświadczenie importu jest po prostu from Crypto.Cipher import AES
. Szukałem duplikatów i można powiedzieć, że są, ale wypróbowałem rozwiązania (chociaż większość z nich to nie są nawet rozwiązania) i nic nie działało.
Możesz zobaczyć, jak wyglądają pliki PyCrypto poniżej:
python
virtualenv
pip
easy-install
pycrypto
Graham Smith
źródło
źródło
ImportError
jest pokazany,python 2
gdy jest wpython 3
nimModuleNotFoundError
.python3 -c 'import foo'
dajeImportError: No module named 'foo'
. Przegapiłem coś?Odpowiedzi:
Miałem ten sam problem (choć na Linuksie). Rozwiązanie było dość proste - dodaj:
do mojego
app.yaml
pliku. Ponieważ w przeszłości działało to poprawnie, zakładam, że jest to nowy wymóg.źródło
app.yaml
plik?pycrypto
już więcej używać ! Sprawdź moją odpowiedź, aby uzyskać lepsze rozwiązanie!Miałem ten sam problem na moim Macu podczas instalacji z
pip
. Następnie usunąłem gopycrypto
i zainstalowałem ponownie za pomocąeasy_install
, na przykład:również jak skomentował Luke: Jeśli masz problemy z uruchomieniem tych poleceń, pamiętaj, aby uruchomić je jako admin (sudo)
Mam nadzieję że to pomoże!
EDYCJA: Jak słusznie zauważa winklerr powyżej, pycrypto nie jest już bezpieczne. Zamiast tego użyj pycryptodome, jest to zamiennik typu drop-in
źródło
Natknąłem się na to również na Macu i wydaje się, że jest to związane z posiadaniem niestety podobnie nazwanego modułu "crypto" (nie wiem do czego to służy) zainstalowanego obok pycrypto via pip.
Wydaje się, że poprawka usuwa zarówno krypto, jak i pycrypto za pomocą pip:
i ponowna instalacja pycrypto:
Teraz działa zgodnie z oczekiwaniami, gdy robię coś takiego:
źródło
Na komputerze Mac ... jeśli napotkasz to ... spróbuj sprawdzić, czy możesz zamiast tego zaimportować krypto?
Jeśli tak .. nazwa pakietu jest kwestia
C
vsc
. Aby obejść ten problem… po prostu dodaj te wiersze na początku skryptu.Wiesz, że powinieneś móc pomyślnie zaimportować paramiko.
źródło
Odinstalowywanie
crypto
ipycrypto
działa na mnie. Następnie zainstaluj tylkopycrypto
:źródło
OSTRZEŻENIE: Nie używaj
pycrypto
już!Jak możesz przeczytać na tej stronie , używanie nie
pycrypto
jest już bezpieczne:ROZWIĄZANIE: Użyj Python3 i
pycryptodome
!TL; DR:
pip3 install pycryptodome
Pamiętaj, aby najpierw odinstalować inne wersje
crypto
lubpycrypto
.Konfigurowanie nowego środowiska wirtualnego
Aby zainstalować środowisko wirtualne i wszystko skonfigurować, użyj następujących poleceń:
Aby uzyskać więcej informacji, zobacz pycryptodome.org
źródło
Znalazłem rozwiązanie. Problem prawdopodobnie dotyczy rozróżniania wielkości liter (w systemie Windows).
Po prostu zmień nazwę folderu:
C:\Python27\Lib\site-packages\crypto
C:\Python27\Lib\site-packages\Crypto
Tak nazwano folder po instalacji pycrypto:
Zmieniłem to na:
A teraz następujący kod działa dobrze:
źródło
wpisz polecenie:
źródło
jeśli używasz redhat, fedora, centos:
sudo yum install pycrypto
w moim przypadku nie mogłem go zainstalować za pomocą pip
źródło
Miałem ten sam problem
'ImportError: No module named Crypto.Cipher'
od czasu używania GoogleAppEngineLauncher (wersja> 1.8.X) z GAE Boilerplate na OSX 10.8.5 (Mountain Lion). W pakiecie SDK Google App Engine ze środowiskiem wykonawczym Python 2.7 sugerowaną wersją jest pyCrypto 2.6. Rozwiązaniem, które się sprawdziło, było ...1) Pobierz źródło pycrypto2.6, wypakuj je gdzieś (
~/Downloads/pycrypto26
)np. klon git https://github.com/dlitz/pycrypto.git
2)
cd
(cd ~/Downloads/pycrypto26
), a następnie3) Wykonaj następujące polecenie terminala w poprzednim folderze, aby ręcznie zainstalować pyCrypto 2.6 w folderze GAE.
źródło
Jeśli jesteś macos, zmień nazwę folderu lib
lib/python3.7/site-packages/crypto
nalib/python3.7/site-packages/Crypto
źródło
Spróbuj z pip3 :
źródło
Może to być problem z ładowaniem modułów Pythona zainstalowanych przez pip. Zapoznaj się z tą odpowiedzią Nie można załadować modułów Pythona zainstalowanych przez pip z katalogu site-packages i spróbuj czegoś takiego
źródło
Pracował dla mnie (Ubuntu 17.10)
Usunięcie venv i ponowne utworzenie go za pomocą Pythona 3.6
Pycrypto jest przestarzałe, miał z nim problemy, używał Pycryptodome
źródło
Rozwiązuję ten problem, zmieniając wielkość pierwszej litery na dużą. Upewnij się, że „” z Crypto Cipher importuje AES „nie” z crypto Cipher importuje AES „”.
źródło
Dla CentOS 7.4 najpierw zainstalowałem pip, a następnie pycrypto za pomocą pip:
źródło
Do tej pory mam ten sam problem podczas importowania,
from Crypto.Cipher import AES
nawet jeśli kilka razy zainstalowałem / ponownie zainstalowałem pycrypto. Skończyło się tak, ponieważ pip domyślnie ustawił python3.instalacja pycrypto z pip2 powinna rozwiązać ten problem.
źródło
W systemie Windows 7:
Otrzymałem ten błąd „Błąd modułu Crypo.Cipher import AES”
Aby zainstalować Pycrypto w systemie Windows,
Spróbuj tego w wierszu polecenia,
Ustaw ścieżkę = C: \ Python27 \ Scripts (tj. Ścieżkę, w której znajduje się easy_install)
Następnie wykonaj następujące czynności,
easy_install pycrypto
W przypadku Ubuntu:
Spróbuj tego,
Pobierz Pycrypto z „ https://pypi.python.org/pypi/pycrypto ”
Następnie zmień aktualną ścieżkę na ścieżkę pobierania za pomocą terminala:
Np .: root @ xyz-virtual-machine: ~ / pycrypto-2.6.1 #
Następnie wykonaj następujące czynności za pomocą terminala:
python setup.py install
U mnie to zadziałało. Nadzieja działa dla wszystkich.
źródło
Ten problem można rozwiązać, instalując kompilator C ++ (python27 lub python26). Pobierz go z witryny Microsoft https://www.microsoft.com/en-us/download/details.aspx?id=44266 i ponownie uruchom polecenie:
pip install pycrypto
aby uruchomić dostęp do sieci GUI po zabiciu procesueasy_install.exe
.źródło
Może powinieneś to zrobić: pycryptodome == 3.6.1 dodaj go do Requirements.txt i zainstaluj, co powinno wyeliminować raport o błędzie. mi to pasuje!
źródło
To zadziałało dla mnie
źródło
Cóż, może się to wydawać dziwne, ale po zainstalowaniu
pycrypto
lubpycryptodome
musimy zaktualizować nazwę katalogucrypto
doCrypto
inlib/site-packages
Odniesienie
źródło
Jestem z 3.7. Problem pozostaje po próbie zainstalowania crypto. A pycrypto po prostu zawodzi w moim przypadku. W końcu moja kompilacja przeszła przez poniższy pakiet: pip install pycryptodome
źródło