您的位置:首页 > 编程语言 > Python开发

python 加密模块安装

2016-12-05 15:23 351 查看
我们使用Python做加密算法如AES、MD5、SHA等时,需要用到PyCrypto模块

PyCrypto模块的安装方法

1、一般在官方网站下载:
https://www.dlitz.net/software/pycrypto/ 然后使用命令就可以安装成功了:

python setup.py build
python setup.py install

2、如果在windows下会报错:
  Python error: Unable to find vcvarsall.bat
  可以参考 http://www.biaodianfu.com/python-error-unable-to-find-vcvarsall-bat.html 解决

在安装一些Python模块时,大部分是cpython写的模块时会发生如下错误 error: Unable to find vcvarsall.bat。先前的一篇文章:在Windows上安装Scrapy时也讲到了这个问题。当时讲到的方案是,安装VS 2008进行解决,但是Vs 2008又太大,不想装,所以这次想到了另外的方案,同样是上次说的,当时上次很不完整。

方案一:安装Vs2008(实测)

完全的无脑流,安装完问题直接解决。

方案二:安装Vs2010(2016-1-29更新)

上次在电脑上装个Vs2010并不能像 vs2008那样直接解决问题,主要原因是Python 2.7 使用的是 VS 2008编译的,所以Python 2.7默认只能认出VS 2008。

解决办法,在命令行下执行 SET VS90COMNTOOLS=%VS100COMNTOOLS%

VS 2010 对应:SET VS90COMNTOOLS=%VS100COMNTOOLS%

VS 2012 对应:SET VS90COMNTOOLS=%VS110COMNTOOLS%

VS 2013 对应:SET VS90COMNTOOLS=%VS120COMNTOOLS%

或者通过修改Python的源代码进行修改:打开“<python安装目录>\Lib\distutils\msvc9compiler.py”,找到 toolskey = “VS%0.f0COMNTOOLS” % version,直接修改为 toolskey = “VS100COMNTOOLS”

如果是Python 3,则上面的方法是无效的,原因是Python 3使用的是VS 2010编译的,所以设置应该是这样:

VS 2010 无需设置,直接能认出

VS 2012 对应:SET VS100COMNTOOLS=%VS110COMNTOOLS%

VS 2013 对应:SET VS100COMNTOOLS=%VS120COMNTOOLS%

或修改msvc9compiler.py文件,将: vc_env = query_vcvarsall(VERSION, plat_spec) 中的VERSION设定为已安装的VS版本对应的值:

VS2008,则VERSION为9.0

VS2010,则VERSION为10.0

VS2012,则VERSION为11.0

VS2013,则VERSION为12.0

VS2014,则VERSION为13.0

注意:Python 3.5升级了distutils,默认使用_msvccompiler.py,在这个文件中可以找到:“ if version >= 14 and version > best_version: ”这里的14说明VS版本要在14以上才可以。所以根据这句,我们要安装最新的Visual Studio2015。上面修改msvc9compiler.py的办法没有效果。

另外,微软也提供了解决方案:

Python VersionYou will need
3.5 and laterVisual C++ Build Tools 2015 or Visual Studio 2015
3.3 and 3.4Windows SDK for Windows 7 and .NET 4.0
(Alternatively, Visual Studio 2010 if you have access to it)
2.6 to 3.2Microsoft Visual C++ Compiler for Python 2.7
参考链接:https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/

windows平台使用Microsoft Visual C++ Compiler for Python 2.7编译python扩展

http://www.cnblogs.com/lazyboy/p/4017567.html

1.下载完成并安装。以本机为例,安装完成后的路径为:

2.修改python安装目录下Lib\distutils\msvc9compiler.py文件(如有必要可能msvccompiler.py文件也需要做相应更改,视系统而定),找到get_build_version方法直接return 9.0

然后再找到find_vcvarsall方法直接返回vcvarsall.bat的路径(以自己机器安装后的路径为准)

3.上述完成之后就可以在windwos下正常编译python的C扩展。以pycrypto-2.6.1为例,执行如下命令

当然也可以建立一个windows的二进制包

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: