• 1
  • 1
分享
  • 【原创】Python3.4 安装 pycrypto 提示错误的处理办法
  • sylan215 2019-03-18 17:09:36 字数 1296 阅读 1203 收藏 1

今天做接口测试,有个接口的参数使用了 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

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 手动测试做久了,总会想要尝试接触些新技术,UI自动化就是一个非常容易尝试的入门砖。小白也能做,相信自己放手去试吧。一、为什么需要做UI自动化1.想一想,为什么需要做UI自动化可以从解决问题的角度出发,想一下在工作中,哪些工作重复性非常高?最最常见的重复性工作,那就是:功能回归测试啦。现在市面上的大小公司都在推敏捷开发,几乎都是2周/3周发一次版本。即2周/3周跑一次回归测试,而且Android和iOS都需要跑一次,即便分在个人头上的回归内容很少,其实也占据了大家大量时间。当然,并不是说UI自动化只能在回归测试阶段发光发热,在测试的任何阶段都可以尝试跑UI测试脚本,可以根据公司需要调整运行阶段、...
            0 0 1916
            分享
          •   前言  现今的互联网产品越来越注重可靠性,尤其是在生产环境中使用的系统,对高可用性都有一定的要求。而作为产品的提供方,在交付产品之前,也会对高可用进行验收测试。近期跟进过两个产品曾有高可用测试的需求,在此简单的总结分享下。  在介绍产品之前,先简单的介绍下高可用和高可用测试:  高可用:指的是系统如何保证比较高的服务可用率。在系统的某个部分因为各种原因而失效时,能保证系统整体的服务正常运行。  高可用测试:通过模拟系统出现异常的情况,验证系统是否能正常提供服务(或降级提供服务),并验证系统在异常恢复后,能否恢复至异常出现之前的运行状态。  产品A:云计算PAAS层组件  产品A为云计算的P...
            0 0 1133
            分享
          •   据微信派,微信刷掌支付正式发布,用户目前可以在刷脸设备上进行刷掌操作。需要现在设备绑定个人微信账号,录入手掌纹样。消费时,将手掌对准支付设备的扫描区,确认后即可完成支付。  相比刷脸支付,刷掌支付无论是安全或精准度上都更高一些。区别于指纹识别读取指腹的表皮纹路,掌纹读取的则是掌心血管纹路,能够避免暴露在外以及复制伪造。  对此,网友纷纷调侃:“挥手说我不要,然后就把钱扣走了”“这下是真的要‘剁手’了”“有些手,刷着刷着钱就没了”……  此前2023微信公开课PRO·微信之约于28日开讲,腾讯公司副总裁、微信支付负责人张颖介绍了微信支付开始尝试推出的“微信刷掌”服务,用创新科技带来更便捷的生...
            0 0 532
            分享
          • SQL注入是一种注入攻击,可以执行恶意SQL语句。下面本篇文章就来带大家了解一下SQL注入,简单介绍一下防止SQL注入攻击的方法,希望对大家有所帮助。 什么是SQL注入?SQL注入(SQLi)是一种注入攻击,,可以执行恶意SQL语句。它通过将任意SQL代码插入数据库查询,使攻击者能够完全控制Web应用程序后面的数据库服务器。攻击者可以使用SQL注入漏洞绕过应用程序安全措施;可以绕过网页或Web应用程序的身份验证和授权,并检索整个SQL数据库的内容;还可以使用SQL注入来添加,修改和删除数据库中的记录。SQL注入漏洞可能会影响使用SQL数据库(如MySQL,Oracle,SQL Ser...
            11 11 1046
            分享
          •   据来自亚洲的未经证实的报道称,苹果公司在多次尝试完善自研 5G 调制解调器芯片但未成功后,将停止这一工作。据 Naver 博客上的新闻聚合账户“yeux1122”运营商透露,与苹果 5G 调制解调器部门相关的供应链消息人士称,该公司开发自己的调制解调器的尝试迄今为止已经失败,苹果正在结束其 5G 调制解调器业务,该项目长达数年的投资也随之泡汤。  另外,名为@Tech_Reve 的泄密者今天表示,他们从日本供应链来源听到了类似的报告。  现在判断最新报道是否属实还为时过早,但根据《华尔街日报》9 月份的报道,苹果开发自己的调制解调器芯片的尝试受到了一些问题的阻碍,包括不切实际的目标、对所涉...
            0 0 559
            分享
      • 51testing软件测试圈微信