ImportError: нет модуля с именем Crypto.Шифр


когда я пытаюсь запустить app.py (Python 3.3, PyCrypto 2.6) my virtualenv продолжает возвращать ошибку, указанную выше. Мой оператор импорта просто from Crypto.Cipher import AES. Я искал дубликаты, и вы можете сказать, что есть некоторые, но я пробовал решения (хотя большинство из них даже не решения), и ничего не работало.

вы можете увидеть, что файлы как для PyCrypto ниже:

17 79

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... если вы столкнетесь с этим.. попробуйте посмотреть, если вы можете импортировать крипто вместо этого?

Если это так.. имя пакета-это проблема C vs c. Чтобы обойти это.. просто добавьте эти строки в верхнюю часть вашего скрипта.

import crypto
import sys
sys.modules['Crypto'] = crypto

вы знаете, должны быть в состоянии успешно импортировать парамико.

команды типа:

sudo pip install pycrypto

Я нашел решение. проблема, вероятно, в чувствительности к регистру (на Windows).

просто измените имя папки:

  • C:\Python27\Lib\site-packages\crypto
  • to:C:\Python27\Lib\site-packages\Crypto

вот как папка была названа после установки pycrypto: enter image description here

Я изменил его на: enter image description here

а теперь следующее код отлично работает: enter image description here

у меня была такая же проблема '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

в моем случае я не буду устанавливать его с помощью pip

удаление crypto и pycrypto работает на меня. Тогда установите только pycrypto. pip uninstall crypto pip удалить pycrypto pip install pycrypto

попробовать pip3:

sudo pip3 install pycrypto

это может быть проблема загрузки модулей python, установленных через pip. См. этот ответ не удается загрузить модули Python, установленные через pip из каталога site-packages и попробовать что-то вроде

python -m pip install pycrypto

Для Windows 7:

Я получил через эту ошибку " Ошибка модуля Crypo.Шифр импорта AES"

чтобы установить Pycrypto в Windows,

попробуйте это в командной строке

Set path=C:\Python27\Scripts (т. е. путь, где находится easy_install)

затем выполните следующие действия,

pycrypto easy_install

Для Ubuntu:

попробуйте это,

Скачать Pycrypto от "https://pypi.python.org/pypi/pycrypto"

затем измените свой текущий путь на загруженный путь с помощью вашего терминала:

например: root@xyz-virtual-machine:~/pycrypto-2.6.1#

затем выполните следующие действия с помощью терминала:

python setup.py установить

Это сработало для меня. Надежда работает для всех..

Я решаю эту проблему, изменив первый буквенный регистр на верхний. Убедитесь, что "от крипто.Шифр импорта 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 несколько раз. В конечном итоге это потому, что Пип по умолчанию python3.

~ pip --version pip 18.0 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

установка pycrypo с pip2 должна решить эту проблему.