ImportError: нет модуля с именем Crypto.Шифр
когда я пытаюсь запустить app.py (Python 3.3, PyCrypto 2.6) мой virtualenv продолжает возвращать ошибку, указанную выше. Мой оператор импорта просто from Crypto.Cipher import AES
. Я искал дубликаты, и вы можете сказать, что есть некоторые, но я попробовал решения (хотя большинство из них даже не решения), и ничего не сработало.
вы можете увидеть, что файлы как для PyCrypto ниже:
17 ответов
У меня была такая же проблема (хотя и в Linux). Решение было довольно простым - добавить:
libraries:
- name: pycrypto
version: "2.6"
в моем приложении.файл yaml. Поскольку это работало правильно в прошлом, я предполагаю, что это новое требование.
у меня была такая же проблема на моем Mac при установке с pip
. Затем я удалил pycrypto
и установил его снова с easy_install
, например:
pip uninstall pycrypto
easy_install pycrypto
также, Как прокомментировал Люк: если у вас возникли проблемы с запуском этих команд, обязательно запустите их как admin (sudo)
надеюсь, что это помогает!
я столкнулся с этим на Mac, и, похоже, это связано с тем, что, к сожалению, аналогичный модуль "crypto" (не уверен, для чего это) установлен рядом с pycrypto через pip.
исправление, похоже, удаляет как crypto, так и pycrypto с pip:
sudo pip uninstall crypto
sudo pip uninstall pycrypto
и переустановка pycrypto:
sudo pip install pycrypto
Теперь он работает, как ожидалось, когда я делаю что-то вроде:
from Crypto.Cipher import AES
на mac... если ты столкнешься с этим.. попробуйте посмотреть, можете ли вы импортировать crypto вместо этого?
Если это так.. имя пакета является проблемой C
vs c
. Чтобы обойти это.. просто добавьте эти строки в начало сценария.
import crypto
import sys
sys.modules['Crypto'] = crypto
вы знаете, что должны иметь возможность успешно импортировать paramiko.
у меня была такая же проблема 'ImportError: No module named Crypto.Cipher'
, начиная с использования GoogleAppEngineLauncher (версия > 1.8.X) с шаблоном GAE на OSX 10.8.5 (Mountain Lion). В Google App Engine SDK с python 2.7 runtime, pyCrypto 2.6 является предлагаемой версией.
Решение, которое сработало для меня, было...
1) pycrypto2 скачать.6 источник где-то распакуйте его(~/Downloads/pycrypto26
)
например, git clone https://github.com/dlitz/pycrypto.git
2) cd
(cd ~/Downloads/pycrypto26
) тогда
3) выполните следующую команду терминала внутри предыдущей папки для установки pyCrypto 2.6 вручную в папке GAE.
sudo python setup.py install --install-lib /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
Если вы используете redhat, fedora, centos:
sudo yum install pycrypto
в моем случае я coouldnot установить его с помощью pip
удаление crypto и pycrypto работает на меня. Тогда установите только pycrypto. pip удалить crypto pip удалить pycrypto pip установить pycrypto
это может быть проблема загрузки модулей python, установленных через pip. Обратитесь к этому ответу не удается загрузить модули Python, установленные через pip из каталога site-packages и попробуйте что-то вроде
python -m pip install pycrypto
Для Windows 7:
Я прошел через эту ошибку " Ошибка модуля Crypo.Шифр импорта AES"
для установки Pycrypto в Windows,
попробуйте это в командной строке
задать путь=C:\Python27\Scripts (i.e путь, где находится easy_install)
затем выполните следующие действия,
pycrypto easy_install
Для Ubuntu:
попробуйте это,
Скачать Pycrypto от "https://pypi.python.org/pypi/pycrypto"
затем измените текущий путь на загруженный путь с помощью терминала:
например: root@xyz-виртуальная машина:~ / pycrypto-2.6.1#
затем выполните следующие действия с помощью терминала:
python setup.py установить
Это сработало для меня. Надежда работает на всех..
Я решаю эту проблему, меняя первый буквенный регистр на верхний. Убедитесь ,что " из Crypto.Шифр импорта AES" не " из крипто.Шифр импорт AES".
эту проблему можно устранить, установив компилятор C++ (python27 или python26). Загрузите его из Microsoft https://www.microsoft.com/en-us/download/details.aspx?id=44266 и повторите команду:pip install pycrypto
для запуска gui web access, когда вы убиваете процесс easy_install.exe
.
для CentOS 7.4 я сначала установил pip, а затем pycrypto с помощью pip:
> sudo yum -y install python-pip
> sudo python -m pip install pycrypto
работал на меня (Ubuntu 17.10)
удаление venv и создание его снова с помощью 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 устарел, имел проблемы с ним, использовал Pycryptodome
На сегодняшний день, у меня такая же проблема при импорте from Crypto.Cipher import AES
даже я установил/переустановил pycrypto несколько раз. В конечном итоге это потому, что pip по умолчанию python3.
~ pip --version
pip 18.0 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
установка pycrypo с pip2 должна решить эту проблему.