一般在官方网站下载pycrypto:

https://www.dlitz.net/software/pycrypto/
 
然后使用命令就可以安装成功了:
python setup.py build     #编译
python setup.py install    #安装
但是在windows下会报错:
Python error: Unable to find vcvarsall.bat
凡是安装和操作系统底层密切相关的Python扩展,几乎都会遇到这个错误。比如PIL, Pillow(两个图形库),greenlet以及其基础之上的eventlet, gevent微线程并发库等等。当然了有一些情况下,你不必彻底解决它,你可以选择windows版本,那么也就只能使用阉割版功能。
 
2.windows安装使用这些偏底层的Python扩展太不爽了,怎么彻底解决 error: Unable to find vcvarsall.bat 呢?
 
①    不要按网上说的,安装MinGW,然后在“..python安装路径...\Lib\distutils”下新建一个文件distutils.cfg,在这文件里面指定编译器为mingw32
原因是什么,可以百度一下mingw是什么,毕竟不是GCC,又不如VC接windows的地气,编译出来的东西,安装上了也有不好使的时候。甚至我遇到MinGW还无法编译greenlet0.4.1,导致greenlet无法源码安装。MinGW经常command 'gcc' failed with exit status 1 或者error: unrecognized command line option '-mno-cygwin'。即使编译通过了,安装上了,你安装的Python标准库不是由mingw编译的,你的扩展包却是mingw编译的,谁也不敢保证完全兼容或者说质量跟得上,说不准一些莫名其妙的神经质错误。
 
②  stackoverflow.com上的解决方案为:stackoverflow.com原文地址 (建议下载安装vs解决)
     如果Python版本小于2.7,强烈建议使用 VS08版,用2010或者更高可能部分扩展不好使。(至于Python版本和VS版本之间的对应关系请参考官方文档:点此查看)

For Windows installations: While running setup.py for package installations, Python 2.7 searches for an installed Visual Studio 2008. You can trick Python to use a newer Visual Studio by setting the correct path in VS90COMNTOOLS environment variable before calling setup.py. If you have Visual Studio 2010 installed, execute SET VS90COMNTOOLS=%VS100COMNTOOLS% or with Visual Studio 2012 installed (Visual Studio Version 11) SET VS90COMNTOOLS=%VS110COMNTOOLS% or with Visual Studio 2013 installed (Visual Studio Version 12) SET VS90COMNTOOLS=%VS120COMNTOOLS%

然后注意这一步很重要:命令行下执行 SET VS90COMNTOOLS=%VS100COMNTOOLS%

如果你安装的是 2012 版 SET VS90COMNTOOLS=%VS110COMNTOOLS%

如果你安装的是 2013版 SET VS90COMNTOOLS=%VS120COMNTOOLS%

   或者更暴力,直接配置系统环境变量 VS90COMNTOOLS指向 %VS你的版本COMNTOOLS%

   你还可以更暴力,在“..python安装路径...\Lib\distutils目录下有个msvc9compiler.py找到243行  

                  toolskey = "VS%0.f0COMNTOOLS" % version   直接改为 toolskey = "VS你的版本COMNTOOLS"(这个就是为什么要配 ”VS90COMNTOOLS“ 的原因,因为人家文件名都告诉你了是  Microsoft vc 9的compiler,   代码都写死了要vc9的comntools,就要找这个玩意儿,找不到不干活)

这么做的理由是Python2.7 扩展包是可以用08版或者更高的VS编译的,其setup.py(安装脚本)都是去windows系统寻找08版的VS,所以设置VS90的path

 
③    安装VS后该重启的重启,clean一下之前安装Python扩展失败的残留文件,然后 直接下载 pil   pillow greenlet  eventlet等源码,解压后python setup.py build发现都可以编译了。接下来就换成 python setup.py install安装吧。

windows 下的python 安装pycrypto的更多相关文章

  1. Windows下的Python安装与环境变量的配置

    Windows下的Python安装与环境变量的配置 第一步:python下载: Python安装包下载地址:http://www.python.org/ 第二步:python安装: 双击下载包,进入P ...

  2. windows下的python安装pysam报错

    安装pysam时报错: 指定版本仍报错: 使用pysam-win安装: 但是import时不行: 貌似pysam在windows下难以正常配置,还是在Linux中用吧. https://www.jia ...

  3. windows 下为Python安装redis

    最近在看<redis实战>,里面的redis示例都是Python写的,先将环境整好 启动redis redis-server.exe  redis.conf 安装了python2.7 安装 ...

  4. windows下python3.6安装pycryto or crypto or pycryptodome与使用

    pycrypto,pycrytodome和crypto是一个东西,在很久以前,crypto在python上面的名字是pycrypto它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库: w ...

  5. 转:python安装pycrypto

    from: http://ljhzzyx.blog.163.com/blog/static/3838031220136592824697/   在windows下用一下开源工具就是悲催,如题pytho ...

  6. 详细介绍windows下使用python pylot进行网站压力测试

    windows下使用python进行网站压力测试,有两个必不可少的程序需要安装,一个是python,另一个是pylot.python是一个安装软件,用来运行python程序,而pylot则是pytho ...

  7. windows下创建Python虚拟环境

    windows下创建Python虚拟环境 说明 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv ...

  8. Windows下SQLMAP的安装图解

    第一步:BurpSuite扫描工具安装 //来源:http://www.mamicode.com/info-detail-563355.html Burp Suite 是用于渗透测试web 应用程序的 ...

  9. windows下Anaconda的安装与配置正解

    一.下载anaconda 第一步当然是下载anaconda了,官方网站的下载需要用迅雷才能快点,或者直接到清华大学镜像站下载. 清华大学提供了镜像,从这个镜像下载速度很快,地址: https://mi ...

随机推荐

  1. mysql left join 几个意思

    left join 用于多表  >1个表比如select a.*,b.* from ta as a left join tb as b on a.aid=b.bid咱们就以实际的代码来查看一下. ...

  2. (四):C++分布式实时应用框架——状态中心模块

    C++分布式实时应用框架--状态中心模块 上篇:(三):C++分布式实时应用框架--系统管理模块 技术交流合作QQ群:436466587 欢迎讨论交流 版权声明:本文版权及所用技术归属smartguy ...

  3. C#中如何使用断点操作调试程序

    Visual Studio调试器调试 当代码不能正常运行时,可以通过调试定位错误.常用的程序调试操作包括设置断点.开始.中断和停止程序的执行.单步执行程序以及使程序运行到指定的位置.下面将对这几种常用 ...

  4. spring aop 动态代理批量调用方法实例

    今天项目经理发下任务,需要测试 20 个接口,看看推送和接收数据是否正常.因为对接传输的数据是 xml 格式的字符串,所以我拿现成的数据,先生成推送过去的数据并存储到文本,以便验证数据是否正确,这时候 ...

  5. 2.python的文件类型、变量数值和字符串练习

    1.python的文件类型 .源代码 -python 源代码文件以"py"为扩展名,由python程序解释,不需要编译. 2.字节代码(编译的) -python源码文件经编译后生成 ...

  6. Spring之AOP一

    面向切片式编程不仅在Java中存在,在其他语言也是存在,例如asp.net的管道模型中,可以利用aop来进行自定义一些操作,比如权限认证.日志等.今天主要是引入AOP,具体它涉及到的专有名词先不做解释 ...

  7. Codeforces 149 E. Martian Strings

    正反两遍扩展KMP,维护公共长度为L时.出如今最左边和最右边的位置. . .. 然后枚举推断... E. Martian Strings time limit per test 2 seconds m ...

  8. --------------Hibernate学习(四) 多对一映射 和 一对多映射

    现实中有很多场景需要用到多对一或者一对多,比如上面这两个类图所展现出来的,一般情况下,一个部门会有多名员工,一名员工只在一个部门任职. 多对一关联映射 在上面的场景中,对于Employee来说,它跟D ...

  9. ABP入门系列(21)——切换MySQL数据库

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 Abp支持MySql已经不是什么新鲜事了,但按照官方文档:Entity Framewo ...

  10. java发送post请求 ,请求数据放到body里

    java利用httpclient发送post请求 ,请求数据放到body里. /** * post请求 ,请求数据放到body里 * * @author lifq * * 2017年3月15日 下午3 ...