Python3.4安装pycrypto提示错误的处理办法-创新互联

今天做接口测试,有个接口的参数使用了 AES 加密,开发也提供了加密函数的实现,但是 Python2.6 实现的,我习惯使用的是 Python3.4,于是准备做下兼容处理,结果过程中发现安装 pycrypto 库会报错。

创新互联建站是一家集网站建设,安化企业网站建设,安化品牌网站建设,网站定制,安化网站建设报价,网络营销,网络优化,安化网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

作为测试,定位问题并解决问题乃是我们的强项,于是花了点时间把问题处理了,顺便把解决的结果做个记录,如果后面有同学碰到同样的问题,也不用重复踩坑了。

先看看我安装库用的命令行:

python34 -m pip install pycrypto

下面是报错信息:

running build_ext
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
building 'Crypto.Random.OSRNG.winrandom' extension
error: Microsoft Visual C++ 10.0 is required. Get it with "Microsoft Windows SDK 7.1": www.microsoft.com/download/details.aspx?id=8279

从报错信息看,就是缺少依赖库文件,确实,我机器上安装的是 VS2008,因为用的少一直没更新,但是提示的是需要 VS2010 支持,总不能因为装一个库,我就去装一个大得多的 VS2010 吧,所以:

方法一:安装 VS2010,然后设置环境变量

先放弃,实在找不到方法再说。

继续 Google 发现有同学提供了新的方案:

方法二:卸载 crypto 库后重新安装 pycrypto

根据要求依次执行如下命令行:

python34 -m pip uninstall crypto
python34 -m pip install pycrypto

错误依旧,报错信息也是一字没改,方法无效

继续看其他方案:

方法三:升级下 setuptools

我也没搞定这个和问题有啥关系,但是升级下也没坏处,升,依次执行如下命令行:

python34 -m pip install --upgrade setuptools
python34 -m pip install pycrypto

错误依旧,报错信息也是一字没改,方法无效

眼瞅着要回头去找 VS2010 安装包了,突然发现有人找到了这个库编译好的 exe 安装包,赞,果然还是那句话「有需求的地方,就有人出实现」,就看你能不能找得到了。

方法四:安装 pycrypto 编译好的 exe 安装包

安装包地址:
http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py3.4.exe

亲测有效,问题解决。

另外,记得到 Python 安装目录下 \Lib\site-packages 去看下,如果 crypto 是全小写就改成 Crypto,不然引入会报错。

附上引入代码:

from Crypto.Cipher import AES

方法四下载地址出处:
https://blog.csdn.net/wjzhangcsu/article/details/75039789

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:Python3.4安装pycrypto提示错误的处理办法-创新互联
URL链接:http://myzitong.com/article/dcjccd.html