#python #python-3.x #pycryptodome
#python #python-3.x #pycryptodome
Вопрос:
Я пытаюсь импортировать Crypto в свою программу на Python, но я получил ошибку. я работаю над Windows. пожалуйста, помогите.
cmd
C:UsersRaw.306498Desktop>pip3 install --upgrade pycryptodome
Requirement already up-to-date: pycryptodome in c:usersraw.306498appdatalo
calprogramspythonpython37libsite-packages (3.8.0)
C:UsersRaw.306498Desktop>python test.py
Traceback (most recent call last):
File "test.py", line 2, in <module>
from Crypto.Cipher import DES
ModuleNotFoundError: No module named 'Crypto'
C:UsersRaw.306498Desktop>
test.py
from Crypto.Util.asn1 import DerBitString
from binascii import hexlify, unhexlify
passw=b'21566572697461733131'
s = unhexlify(passw)
cred=str(s,'ascii')
Комментарии:
1.
pip3
Ссылается ли на ту же установку Python, что иpython
команда …? Если сомневаетесь, используйтеpython -m pip ...
.2. все та же ошибка
3. C:UsersRaw.306498Desktop > python -m pip install -обновить требования к pycryptodome, которые уже обновлены: pycryptodome в c:usersrawat.306498appdatalo cal programs pythonpython37libsite-packages (3.8.0) C:UsersRaw.306498Desktop >python test.py Обратная трассировка (последний последний вызов): Файл «test.py «, строка 2, в <module> из Crypto. Ошибка при импорте шифра Из ModuleNotFoundError: нет модуля с именем ‘Crypto’ C:UsersRaw.306498Desktop >
4. установка pip3 Crypto должна устранить ошибку. еще sudo pip3 устанавливает Crypto
5. запустите эти команды в cmd и покажите нам результат:
where python
иwhere pip
иwhere pip3
Ответ №1:
решение этой проблемы для пользователей Windows объясняется в документации здесь, и в нем говорится:
Основная причина заключается в том, что в прошлом вы, скорее всего, устанавливали несвязанный, но с аналогичным именем пакет crypto, который работает в пространстве имен crypto
Исправьте проблему с:
pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome
более подробную информацию о причине можно увидеть в этом выпуске github
ОБНОВЛЕНИЕ:
Если решение, указанное в документации, не сработало, вам нужно изменить имя папки пакета с crypto
на Crypto
. чтобы найти, где находится папка пакета:
- узнайте, где находится ваш исполняемый файл python, с помощью этой команды:
where python
.
Вывод должен выглядеть следующим образом:
C:Users_YourUserName_AppDataLocalProgramsPythonPython37-32python.exe
- Теперь измените свой каталог в cmd на папку, содержащую python:
cd C:Users_YourUserName_AppDataLocalProgramsPythonPython37-32
-
запустите эти:
cd ..
cd cd Libsite-packages
- откройте проводник в этом каталоге:
explorer .
- В открывшемся проводнике вы можете увидеть папку с именем: crypto переименуйте ее в Crypto. (второе начинается с заглавной буквы C)
Ответ №2:
я решил эту проблему на самом деле файл с аналогичным именем уже хранится в библиотеке python, поэтому сначала я удаляю его, а затем устанавливаю pycrypto с помощью pip
Комментарии:
1. Да! об этом говорится в вопросе, упомянутом в моем ответе! Он должен был быть удален с помощью
pip uninstall
. Итак, вы сделали это вручную, используя file Explorer, да?