解决win764位安装pycrypto遇到unable to find vcvarsall.bat 问题
今天安装pycrypto的库。安装中遇到一些问题,这里简单记录下来。
- 首先安装python,pycrypto是基于python的一个库。
- 第一种:搜索关键字pycrypto,找到pycrypto的官方主页。在官网上只有源代码下载,下载完成后,需要编译才能安装。这样可能会遇到很多问题。我是通过3安装的。
- 第二种:在http://www.voidspace.org.uk/python/modules.shtml#pycrypto直接下载编译好的源文件。有心人已经帮我们在不同版本的windows和python版本下编译好了。运行,安装,成功。可行性远大于2。
到这一步,应该已经安装完成了。但是如果硬要通过2来安装,可能会遇到几个问题。在2中,首先运行cmd,在源程序目录下运行
1 python setup.py install
此时我遇到一个错误:error: Unable to find vcvarsall.bat。这是因为我电脑里面没有安装VC的编译器(比如安装Visual 2005,2008,2010等)。其实,即使安装了其中一个版本的Visual的版本也不一定行,因为pycrypto会指定一个版本的VC编译器(2005和2010貌似不是一个版本。)。网上搜到的解决方式通过安装mingw的方法来解决。我也试了。然后在源程序目录下运行
Python代码
1 python setup.py install build --compiler=mingw32
此时我又遇到一个问题:是一个关于cmod错误的问题。我google下,好到解决的办法。但是最终没去管,因为太麻烦了。
除了麻烦之外,通过mingw解决的方法貌似还有些不妥。
You have to compile PyCrypto with the same compiler that the version of Python was compiled with.。可以参考(http://stackoverflow.com/questions/11405549/how-do-i-install-pycrypto-on-windows)
里面那个人的说法,就是在python.org的官网下的windows版的python安装包,2.6和2.7是用VC2008编译的。所以你安装的python库最好也用对应版本的vc编译。如果你用2010或者gcc去编译2.6和2.7的python库,可能会有问题。
终极大招:
直接下载pycrypto.exe版本,就可以安装成功了,下载地址:http://www.voidspace.org.uk/python/modules.shtml#pycrypto(下载对应的Python号就行了)