Нет Название модуля Crypto - PullRequest
1 голос
/ 28 марта 2019

Я пытаюсь импортировать Crypto в мою программу на python, но я получил ошибку.Я работаю над окнами.пожалуйста, помогите.

cmd

C:\Users\Raw.306498\Desktop>pip3 install --upgrade pycryptodome
Requirement already up-to-date: pycryptodome in c:\users\raw.306498\appdata\lo
cal\programs\python\python37\lib\site-packages (3.8.0)

C:\Users\Raw.306498\Desktop>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:\Users\Raw.306498\Desktop>

test.py

from Crypto.Util.asn1 import DerBitString
from binascii import hexlify, unhexlify

passw=b'21566572697461733131'
s = unhexlify(passw)
cred=str(s,'ascii')

Ответы [ 2 ]

1 голос
/ 28 марта 2019

решение этой проблемы для пользователей Windows объясняется в документации здесь и там говорится:

Основная причина заключается в том, что в прошломвы, скорее всего, установили несвязанный, но с таким же именем пакет, называемый crypto, который работает в пространстве имен crypto

Исправьте проблему с помощью:

pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome

более детальной проработкипричина может быть замечена в этой проблеме github

ОБНОВЛЕНИЕ:
Если решение, указанное в документации, не работает, вы должны изменить имя папки пакета с crypto на Crypto,чтобы найти, где находится папка пакета:

  1. выясните, где находится ваш исполняемый файл python, с помощью этой команды: where python.
    Вывод должен выглядеть следующим образом:
    C:\Users\_YourUserName_\AppData\Local\Programs\Python\Python37-32\python.exe
  2. Теперь измените ваш каталог в cmd на папку, содержащую python:
    cd C:\Users\_YourUserName_\AppData\Local\Programs\Python\Python37-32\
  3. , запустите:

    cd .. cd cd Lib\site-packages

  4. откройте проводник в этом каталоге:
    explorer .
  5. В открывшемся проводнике вы увидите папку с именем: crypto переименуйте ее в Crypto .(второй начинается с заглавной буквы C)
0 голосов
/ 28 марта 2019

я решил эту проблему на самом деле аналогичный именованный файл уже хранится в библиотеке python, поэтому сначала я удаляю его, а затем устанавливаю pycrypto с помощью pip

...