我正在尝试在我的python程序中导入Crypto,但出现错误。 我在Windows上工作。请帮忙。
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')
答案 0 :(得分:1)
解决方案 它说:
根本原因是,在过去,您很可能安装了一个不相关但名称相似的程序包crypto,该程序恰好在名称空间crypto下运行。
解决问题:
pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome
中可以找到原因的详细说明
更新:
如果文档中引用的解决方案不起作用,则必须将软件包文件夹名称从crypto
更改为Crypto
。
查找包文件夹所在的位置:
where python
。C:\Users\_YourUserName_\AppData\Local\Programs\Python\Python37-32\python.exe
cd C:\Users\_YourUserName_\AppData\Local\Programs\Python\Python37-32\
运行这些:
cd ..
cd cd Lib\site-packages
explorer .
答案 1 :(得分:-1)
我解决了这个问题 实际上,一个类似的命名文件已经存储在python库中,因此首先我将其删除,然后使用pip安装pycrypto