python - 否 模块名称 Crypto
问题描述
我正在尝试在我的 python 程序中导入 Crypto,但出现错误。我在窗户上工作。请帮忙。
命令
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>
测试.py
from Crypto.Util.asn1 import DerBitString
from binascii import hexlify, unhexlify
passw=b'21566572697461733131'
s = unhexlify(passw)
cred=str(s,'ascii')
解决方案
此处的文档中解释了针对 Windows 用户的此问题的解决方案 ,它说:
根本原因是,在过去,您很可能安装了一个不相关但名称相似的名为 crypto 的包,它恰好在命名空间 crypto 下运行
解决问题:
pip uninstall crypto
pip uninstall pycryptodome
pip install pycryptodome
更新:
如果文档中引用的解决方案不起作用,您必须将包文件夹名称从更改crypto
为Crypto
. 查找包文件夹所在的位置:
- 通过以下命令找出您的 python 可执行文件所在的位置:
where python
.
输出应如下所示:
C:\Users\_YourUserName_\AppData\Local\Programs\Python\Python37-32\python.exe
- 现在将 cmd 中的目录更改为包含 python 的文件夹:
cd C:\Users\_YourUserName_\AppData\Local\Programs\Python\Python37-32\
运行这些:
cd ..
cd cd Lib\site-packages
- 在此目录中打开资源管理器:
explorer .
- 在打开的资源管理器中,您可以看到一个名为:crypto的文件夹,将其重命名为Crypto。(第二个以大写 C 开头)
推荐阅读
- docusignapi - DocuSign API:使用复合模板时,SignHere 和 InitialHere 选项卡在信封中多次插入
- android - SecureStorage 在颤动中读取 null
- python - Matplotlib 以 pdf 格式打印白色为灰色,但不是 png 格式
- azure-pipelines - 跨不同 Azure 管道启动多个阶段
- javascript - react hooks为什么会出现TypeError
- azure-devops - 在参加 sprint 或看板时,我想查看讨论中为用户故事显示的最后一条评论
- python - 我正在尝试从 power shell(vs 代码)安装 py 音频,它给了我这个错误
- javascript - 在鼠标移动或滚动时添加跟踪代码
- checkbox - Vuetable:复选框切换方法的数据项中没有可用的行数据
- docker - Ignite Node 在 Docker 容器中启动时失败