python 加密模块安装
2016-12-05 15:23
405 查看
我们使用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的办法没有效果。
另外,微软也提供了解决方案:
参考链接:https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/
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的二进制包
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 Version | You will need |
3.5 and later | Visual C++ Build Tools 2015 or Visual Studio 2015 |
3.3 and 3.4 | Windows SDK for Windows 7 and .NET 4.0 (Alternatively, Visual Studio 2010 if you have access to it) |
2.6 to 3.2 | Microsoft Visual C++ Compiler for Python 2.7 |
windows平台使用Microsoft Visual C++ Compiler for Python 2.7编译python扩展
http://www.cnblogs.com/lazyboy/p/4017567.html1.下载完成并安装。以本机为例,安装完成后的路径为:
相关文章推荐
- python中的生成器(Generators)
- python基础
- python把excel文件转换为指定的json格式
- Python之*args,**kw
- python——time模块实现指定时间触发器
- Gmond扩展Python度量模块开发
- python 进行WINDOWS窗口上传的方法1---AutoIt
- 极坐标中绘图(projection参数)
- Mining Twitter Data with Python Part 7: Geolocation and Interactive Maps
- Mining Twitter Data with Python Part 6: Sentiment Analysis Basics
- python web前端后端页面详解
- Python开发【前端】:汇总
- Mining Twitter Data with Python Part 5: Data Visualisation Basics
- 从零开始学python[二,数据类型]
- python中*args与**kwargs
- Mining Twitter Data with Python Part 4: Rugby and Term Co-occurrences
- Mining Twitter Data with Python Part 3: Term Frequencies
- 第十七章 Python网络编程
- Mining Twitter Data with Python Part 2: Text Pre-processing
- Mining Twitter Data with Python Part 1: Collecting Data