Python 解决 Windows 下 PyCrypto 出错的正确方法
目录
如何简单又可靠的解决 Windows 下 PyCrypto 报错。
问题描述
直接 pip install pycrypto
安装该第三方库时,
或使用 PyInstaller 的加密参数时,
都可能会遇到 pycrypto 报错,通常是 cl.exe failed with exit status 2
。
网上很多人遇到这个问题,也有很多文章讨论和给出解决办法。在我两次遇到这个头疼的问题之后,
解决方法
找到了一个最简单又真正可靠的解决办法——换成 PyCryptodome
这个库。
原来的 Python 脚本都不用改,即可正常使用。
安装 PyCryptodome 之前记得先卸载 PyCrypto。
pip uninstall pycrypto
pip install pycryptodome
解释说明
PyCrypto 已经停止维护更新很久了,最近的更新是在 2014年。最新的正式版本是 2.6.1。
PyCryptodome 是 PyCrypto 的一个分支,所以在替换掉 PyCrypto 库之后,原来按照 PyCrypto API 写的代码仍然可以正常运行。
而 PyCryptodome 仍然(2020年)在持续的维护,并有多项增强功能。
最重要的是(也是相较 PyCrypto 的优点)—— PyCryptodome 是一个独立的(低层加密基元的)Python 包。
在 Windows 下使用时,不用再依赖(要安装)什么 VC++ 了!
更多信息可以前往官方文档:
https://www.pycryptodome.org/en/latest/index.html