Ketika saya mencoba untuk menjalankan app.py (Python 3.3, PyCrypto 2.6) saya virtualenv terus kembali kesalahan yang tercantum di atas. Saya pernyataan impor hanya dari Crypto.Cipher impor AES
. Saya mencari duplikat dan anda mungkin mengatakan bahwa ada beberapa, tapi saya mencoba solusi (meskipun sebagian besar bahkan tidak solutions) dan tidak ada yang berhasil.
Anda dapat melihat file apa yang seperti untuk PyCrypto di bawah ini:
Aku punya masalah yang sama pada Mac saya ketika menginstal dengan pip
. Saya kemudian dihapus pycrypto
dan dipasang lagi dengan easy_install
, seperti ini:
pip uninstall pycrypto
easy_install pycrypto
juga sebagai Luke komentar: Jika anda memiliki kesulitan menjalankan perintah ini, pastikan untuk menjalankan mereka sebagai admin (sudo)
Harap ini membantu!
EDIT: Sebagai winklerr dengan benar catatan di atas, pycrypto tidak lagi aman. Gunakan pycryptodome sebaliknya, itu adalah drop-in pengganti
Aku berlari ke ini pada Mac juga, dan hal ini tampaknya terkait untuk memiliki sebuah sayangnya bernama sama "crypto" modul (tidak yakin apa itu untuk) dipasang bersama pycrypto melalui pip.
Memperbaiki tampaknya akan melepaskan kedua kripto dan pycrypto dengan pip:
sudo pip uninstall crypto
sudo pip uninstall pycrypto
dan menginstal ulang pycrypto:
sudo pip install pycrypto
Sekarang bekerja seperti yang diharapkan ketika saya melakukan sesuatu seperti:
from Crypto.Cipher import AES
Aku punya masalah yang sama (meskipun di Linux). Solusinya cukup sederhana - tambahkan:
libraries:
- name: pycrypto
version: "2.6"
untuk saya app.yaml
file. Karena ini bekerja dengan benar di masa lalu, saya berasumsi ini adalah persyaratan yang baru.
Pada mac... jika anda mengalami ini.. cobalah untuk melihat apakah anda dapat mengimpor crypto bukan?
Jika demikian.. nama paket adalah masalah C
vs c
. Untuk mendapatkan sekitar ini.. hanya menambahkan baris ini ke atas naskah anda.
import crypto
import sys
sys.modules['Crypto'] = crypto
Anda tahu harus mampu mengimpor login berhasil.
Menghapus kripto
dan pycrypto
bekerja pada saya. Kemudian instal hanya pycrypto
:
pip uninstall crypto
pip uninstall pycrypto
pip install pycrypto
I've punya masalah yang sama 'ImportError: No module named Kripto.Cipher'
, karena menggunakan GoogleAppEngineLauncher (versi > 1.8.X) dengan GAE Boilerplate di OSX 10.8.5 (Mountain Lion). Di Google App Engine SDK dengan python 2.7 runtime, pyCrypto 2.6 disarankan versi.
Solusi yang bekerja untuk saya adalah...
~/Downloads/pycrypto26
)misalnya, git clone https://github.com/dlitz/pycrypto.git
cd
(cd ~/Downloads/pycrypto26
) kemudian
Melaksanakan perintah terminal berikut di dalam folder sebelumnya dalam rangka untuk menginstal pyCrypto 2.6 manual di GAE folder.
sudo python setup.py install --install-lib /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
pycrypto
lagi!Seperti yang dapat anda baca di halaman ini, penggunaan pycrypto
adalah tidak aman lagi:
Pycrypto rentan terhadap tumpukan berbasis buffer overflow dalam ALGnew fungsi di block_templace.c. Hal ini memungkinkan penyerang remote untuk mengeksekusi kode sewenang-wenang dalam aplikasi python. Itu ditugaskan CVE-2013-7459 nomor.
Pycrypto tidak melepaskan memperbaiki kerapuhan dan tidak komit dibuat untuk proyek ini sejak Jun 20, 2014.
pycryptodome
!TL;DR: pip3 menginstal pycryptodome
Untuk menginstal sebuah lingkungan virtual dan mengatur segala sesuatu, gunakan perintah berikut:
# install python3 and pip3
sudo apt update
sudo apt upgrade
sudo apt install python3
sudo apt install python3-pip
# install and create a virtual environment
# cd to or mkdir the folder where you want your venv
pip3 install virtualenv
python3 -m virtualenv .
# now activate your venv and install pycryptodome
source bin/activate
pip3 install pycryptodome
# check if everything worked:
# start the interactive python console and import the Crypto module
# when there is no import error then it worked
python
>>> from Crypto.Cipher import AES
>>> exit()
# don't forget to deactivate your venv again
deactivate
Untuk informasi lebih lanjut, lihat pycryptodome.org
Bekerja untuk saya (Ubuntu 17.10)
Menghapus venv dan menciptakan lagi dengan 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 kadaluarsa, punya masalah dengan itu, digunakan Pycryptodome
Itu bisa menjadi masalah loading python modul diinstal melalui pip. Lihat jawaban ini https://stackoverflow.com/questions/25276329/cant-load-python-modules-installed-via-pip-from-site-packages-directory dan mencoba sesuatu seperti
python -m pip install pycrypto
Masalah ini dapat diatasi dengan memasang C++ compiler (python27 atau python26). Men-Download dari Microsoft https://www.microsoft.com/en-us/download/details.aspx?id=44266 dan kembali menjalankan perintah : pip menginstal pycrypto
untuk menjalankan gui akses web ketika anda membunuh proses easy_install.exe
.
Untuk Windows 7:
Aku melalui ini kesalahan "Modul error Crypo.Cipher impor AES"
Untuk menginstal Pycrypto di Windows,
Coba ini di Command Prompt,
Set path=C:\Python27\Script (saya.e jalan mana easy_install adalah hotel yang terletak strategis)
Kemudian jalankan berikut,
easy_install pycrypto
Untuk Ubuntu:
Coba ini,
Download Pycrypto dari "https://pypi.python.org/pypi/pycrypto"
Kemudian mengubah jalan anda saat ini untuk mengunduh path menggunakan terminal anda:
Misalnya: [email protected]:~/pycrypto-2.6.1#
Kemudian jalankan berikut menggunakan terminal:
python setup.py menginstal
It's bekerja untuk saya. Harapan bekerja untuk semua..
Untuk saat ini, saya'm memiliki masalah yang sama ketika mengimpor dari Crypto.Cipher impor AES
bahkan aku've dipasang/diinstal ulang pycrypto beberapa kali. End up itu's karena pip gagal untuk python3.
~ pip --versi pip 18.0 dari /usr/local/lib/python3.7/site-packages/pip (python 3.7)
menginstal pycrypo dengan pip2 harus memecahkan masalah ini.