免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3045 | 回复: 0
打印 上一主题 下一主题

[分享]关于在Windows平台安装pyOpenSSL的总结 [复制链接]

求职 : Linux运维
论坛徽章:
10
丑牛
日期:2013-11-22 14:59:41数据库技术版块每日发帖之星
日期:2016-08-13 06:20:0015-16赛季CBA联赛之山西
日期:2016-08-03 10:35:38数据库技术版块每日发帖之星
日期:2016-07-31 06:20:002016科比退役纪念章
日期:2016-06-27 14:08:14数据库技术版块每日发帖之星
日期:2016-06-02 06:20:0015-16赛季CBA联赛之广东
日期:2016-05-20 15:06:2215-16赛季CBA联赛之深圳
日期:2016-01-29 16:27:402015亚冠之阿尔艾因
日期:2015-09-08 16:35:3615-16赛季CBA联赛之北京
日期:2017-03-28 18:45:36
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-08-04 10:11 |只看该作者 |倒序浏览
本帖最后由 夏寥寥 于 2016-08-04 12:26 编辑

近期,由于工作的需要,在Windows平台要安装pyOpenSSL. 起初以为很容易,在实际操作时,才发现要安装很多依赖包!且我的机器是无法连接外网的,所以想用pip来安装也是不可能的事了。不过最后还好是安装成功了!这里做一下总结备忘。

1.[系统环境]

操作系统:Windows Server 2008 R2
VS版本:Visual Studio 2012  Ultimate

2.[依赖软件包]

软件包名称                      版本                                          下载地址
pyOpenssl                     16.0.0                                       https://pypi.python.org/pypi/pyOpenSSL
six                                1.5.2                                        https://pypi.python.org/simple/six/
Python                          2.7.12                                       https://www.python.org/downloads/
OpenSSL                      1.0
cryptography                 1.3                                           https://pypi.python.org/simple/cryptography/
cffi                                1.4.1                                        https://pypi.python.org/simple/cffi/
pycparser                      2.10                                          https://pypi.python.org/simple/pycparser/
ipaddress                      1.0.6                                         https://pypi.python.org/simple/ipaddress/
pyasn1                         0.1.8                                          https://pypi.python.org/simple/pyasn1/
enum34                       1.1.5                                          https://pypi.python.org/simple/enum34/
idna                             2.0                                            https://pypi.python.org/simple/idna/
VCForPython27                                                              https://www.microsoft.com/en-us/download/details.aspx?id=44266

说明:
        (1)以上是本人在安装过程中根据报错信息找出的依赖包,版本也是根据提示去下载的,所以请依照你的情况下载;
        (2)安装的Python和OpenSSL的位数一定要一致,不然在后续的安装过程中会出现"找不到外部符号"的错误,让人很头大;
        (3)上述的安装包是有依赖关系的,具体可根据提示去选择相应的依赖包,这里并没有对依赖关系做排序;
      

3.[安装方式]

(1)依次下载步骤2中tar.gz格式的的依赖包(Python、VCForPython27和OpenSSL这几个除外);

(2)首先安装Python2.7.12、OpenSSL、VCForPython27、Visual Studio 2012  Ultimate

这几个安装比较容易,这里不再赘述!

(3)设置环境变量

本人在安装过程中设置了如下环境变量,如果变量名已存在,请用英文分号隔开:

<OpenSSL>
变量名1:include
变量值1:C:\OpenSSL1.0-win64\setup\OpenSSL-Win64\include


变量名2:lib
变量值2:C:\OpenSSL1.0-win64\setup\OpenSSL-Win64\lib;C:\OpenSSL1.0-win64\setup\OpenSSL-Win64\lib\VC;C:\OpenSSL1.0-win64\setup\OpenSSL-Win64\lib\VC\static


变量名3:path
变量值3:C:\Python2.7;C:\OpenSSL1.0\OpenSSL-win64;C:\Visual Studio 2012\VC\bin;C:\Visual Studio 2012\Common7\IDE;C:\Visual Studio 2012\Common7;C:\Visual Studio 2012\VC\bin\amd64;

由于该变量较多,我只列出了我自己添加的那部分;

在设置完系统变量之后,请重启机器使变量生效;

(4)依次解压后,进入到相应目录下,找到setup.py文件,在命令行输入python setup.py install即可安装;

    出现报错时,要及时查看!


4. [错误信息及解决方法]

【错误1】:

build\temp.win-amd64-2.7\Release\_openssl.c(415) fatal error C1083:Cannot open include file (openssl\e_os2.h) no such a file or directory;

解决方法1:未设置include变量,将变量值指向openssl的安装目录下的include即可解决;


【错误2】:
_openssl.obj:error LNK2019:unresolved external symbol sk_dup referenced in function _cffi_d_sk_X509_NAME_ENTRY_dup
build\lib.win-amd64-2.7\cryptography\hazmat\bindings\_openssl.pyd :fatal error LNK1120:990 unsolved externals
error:command 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\common\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\link.exe' failed with exit status 1120

解决方法2:该问题是由于系统可以找到头文件,但链接找不到对应的库文件(lib); 请检查是否设置lib变量,如果已设置仍出现该问题,请检查你的Python和OpenSSL的位数是否一致,
要么都是32-bit,要么都是64-bit;


大概就这些了,希望我踩过的坑,对大家会有所帮助!

        

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP