Ketika saya mencoba menjalankan app.py (Python 3.3, PyCrypto 2.6) virtualenv saya terus menampilkan kesalahan yang tercantum di atas. Pernyataan impor saya adil from Crypto.Cipher import AES
. Saya mencari duplikat dan Anda mungkin mengatakan bahwa ada beberapa, tetapi saya mencoba solusinya (meskipun sebagian besar bahkan bukan solusi) dan tidak ada yang berhasil.
Anda dapat melihat seperti apa file PyCrypto di bawah ini:
python
virtualenv
pip
easy-install
pycrypto
Graham Smith
sumber
sumber
ImportError
ditampilkanpython 2
sementara dipython 3
dalamnyaModuleNotFoundError
.python3 -c 'import foo'
hasilImportError: No module named 'foo'
. Apakah saya melewatkan sesuatu?Jawaban:
Saya memiliki masalah yang sama (meskipun di Linux). Solusinya cukup sederhana - tambahkan:
ke
app.yaml
file saya . Karena ini berfungsi dengan benar di masa lalu, saya menganggap ini adalah persyaratan baru.sumber
app.yaml
file?pycrypto
lagi! Periksa jawaban saya untuk solusi yang lebih baik!Saya mengalami masalah yang sama di Mac saya saat menginstal dengan
pip
. Saya kemudian menghapuspycrypto
dan menginstalnya lagi denganeasy_install
, seperti ini:juga seperti komentar Luke: Jika Anda mengalami masalah dalam menjalankan perintah ini, pastikan untuk menjalankannya sebagai admin (sudo)
Semoga ini membantu!
EDIT: Seperti yang dicatat winklerr dengan benar di atas, pycrypto tidak lagi aman. Gunakan pycryptodome sebagai gantinya, ini adalah pengganti drop-in
sumber
Saya mengalami ini di Mac juga, dan tampaknya terkait dengan memiliki modul "crypto" yang sayangnya memiliki nama yang sama (tidak yakin untuk apa itu) dipasang bersama pycrypto melalui pip.
Perbaikannya tampaknya menghapus crypto dan pycrypto dengan pip:
dan menginstal ulang pycrypto:
Sekarang berfungsi seperti yang diharapkan ketika saya melakukan sesuatu seperti:
sumber
Di mac ... jika Anda mengalami ini .. coba lihat apakah Anda dapat mengimpor crypto?
Jika demikian .. nama paket adalah masalah
C
vsc
. Untuk menyiasatinya .. cukup tambahkan baris ini ke bagian atas skrip Anda.Anda tahu harus dapat mengimpor paramiko dengan sukses.
sumber
Menghapus instalasi
crypto
danpycrypto
bekerja pada saya. Kemudian instal sajapycrypto
:sumber
PERINGATAN: Jangan gunakan
pycrypto
lagi!Seperti yang dapat Anda baca di halaman ini , penggunaan
pycrypto
ini tidak aman lagi:SOLUSI: Gunakan Python3 dan
pycryptodome
!TL; DR:
pip3 install pycryptodome
Pastikan untuk mencopot pemasangan versi lain
crypto
atau yangpycrypto
pertama.Menyiapkan lingkungan virtual baru
Untuk menginstal lingkungan virtual dan mengatur semuanya, gunakan perintah berikut:
Untuk informasi lebih lanjut, lihat pycryptodome.org
sumber
Saya menemukan solusinya. Masalahnya mungkin karena sensitivitas huruf (pada Windows).
Ubah saja nama foldernya:
C:\Python27\Lib\site-packages\crypto
C:\Python27\Lib\site-packages\Crypto
Beginilah nama folder setelah instalasi pycrypto:
Saya telah mengubahnya menjadi:
Dan sekarang kode berikut berfungsi dengan baik:
sumber
ketik perintah:
sumber
jika Anda menggunakan redhat, fedora, centos:
sudo yum install pycrypto
untuk kasus saya, saya tidak dapat menginstalnya menggunakan pip
sumber
Saya memiliki masalah yang sama
'ImportError: No module named Crypto.Cipher'
, sejak menggunakan GoogleAppEngineLauncher (versi> 1.8.X) dengan GAE Boilerplate di OSX 10.8.5 (Mountain Lion). Di Google App Engine SDK dengan waktu proses python 2.7, pyCrypto 2.6 adalah versi yang disarankan. Solusi yang berhasil untuk saya adalah ...1) Unduh sumber pycrypto2.6, ekstrak di suatu tempat (
~/Downloads/pycrypto26
)misalnya, git clone https://github.com/dlitz/pycrypto.git
2)
cd
(cd ~/Downloads/pycrypto26
) lalu3) Jalankan perintah terminal berikut di dalam folder sebelumnya untuk menginstal pyCrypto 2.6 secara manual di folder GAE.
sumber
Jika Anda seorang macos, ganti nama folder lib
lib/python3.7/site-packages/crypto
menjadilib/python3.7/site-packages/Crypto
sumber
Coba dengan pip3 :
sumber
Ini bisa menjadi masalah saat memuat modul python yang dipasang melalui pip. Lihat jawaban ini Tidak dapat memuat modul Python yang diinstal melalui pip dari direktori paket situs dan coba sesuatu seperti
sumber
Bekerja untuk saya (Ubuntu 17.10)
Menghapus venv dan membuatnya lagi dengan python v3.6
Pycrypto tidak digunakan lagi, bermasalah, menggunakan Pycryptodome
sumber
Saya mengatasi masalah ini dengan mengubah kasus huruf pertama ke atas. Pastikan '' dari Crypto.Cipher import AES '' bukan '' dari crypto.Cipher import AES ''.
sumber
Untuk CentOS 7.4 saya pertama kali menginstal pip dan kemudian pycrypto menggunakan pip:
sumber
Sampai saat ini, saya mengalami masalah yang sama ketika mengimpor
from Crypto.Cipher import AES
bahkan ketika saya telah menginstal / menginstal ulang pycrypto beberapa kali. Akhirnya itu karena pip default ke python3.menginstal pycrypto dengan pip2 seharusnya menyelesaikan masalah ini.
sumber
Untuk Windows 7:
Saya mengalami kesalahan ini "Kesalahan modul Crypo.Cipher impor AES"
Untuk menginstal Pycrypto di Windows,
Coba ini di Command Prompt,
Set path = C: \ Python27 \ Scripts (yaitu path dimana easy_install berada)
Kemudian jalankan yang berikut ini,
easy_install pycrypto
Untuk Ubuntu:
Coba ini,
Unduh Pycrypto dari " https://pypi.python.org/pypi/pycrypto "
Kemudian ubah jalur Anda saat ini ke jalur unduhan menggunakan terminal Anda:
Misalnya: root @ xyz-virtual-machine: ~ / pycrypto-2.6.1 #
Kemudian jalankan yang berikut ini menggunakan terminal:
python setup.py install
Ini berhasil untuk saya. Harapan bekerja untuk semua ..
sumber
Masalah ini dapat diperbaiki dengan menginstal compiler C ++ (python27 atau python26). Unduh dari Microsoft https://www.microsoft.com/en-us/download/details.aspx?id=44266 dan jalankan kembali perintah:
pip install pycrypto
untuk menjalankan akses web gui ketika Anda menghentikan proseseasy_install.exe
.sumber
Mungkin Anda harus begini: pycryptodome == 3.6.1 menambahkannya ke requirement.txt dan menginstal, yang seharusnya menghilangkan laporan kesalahan. itu berhasil untuk saya!
sumber
Ini berhasil untuk saya
sumber
Ini mungkin tampak aneh tetapi setelah menginstal
pycrypto
ataupycryptodome
, kita perlu memperbarui nama direktoricrypto
menjadiCrypto
dilib/site-packages
Referensi
sumber
Saya dengan 3.7. Masalah tetap ada setelah saya mencoba menginstal crypto. Dan pycrypto gagal dalam kasus saya. Jadi pada akhirnya build saya melewati paket di bawah ini: pip install pycryptodome
sumber