一.前言

本文主要纪录CentOS等类型系统下openssl和python软件编译安装的操作过程和一些注意事项,以供后续回顾使用。

二.操作指导

2.1 环境说明

软件

版本

CentOS

6.9 x86_64

OpenSSL

1.1.0h

Python

2.7.14

Python

3.6.5

2.2 OpenSSL编译安装

2.2.1 OpenSSL安装包下载并解压

wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz && tar -xf openssl-1.1.0h.tar.gz -C /tmp

2.2.2 编译安装OpenSSL

cd /tmp/openssl-1.1.0h

mkdir -p /opt/openssl

./config --prefix=/opt/openssl --shared && make && make install

2.2.3 配置OpenSSL环境

ln -s /opt/openssl/lib/libssl.so /usr/lib64/

echo "/opt/openssl/lib" >> /etc/ld.so.conf

ldconfig

2.3 Python编译安装

2.3.1 Python2.7安装

2.3.1.1 Python2.7下载并解压

wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz && tar -xf Python-2.7.14.tgz -C /tmp

2.3.1.2 修改Python2.7配置文件

cd /tmp/Python-2.7.14

vim setup.py

在该安装脚本中增加openssl的模块路径/opt/openssl/include和/opt/openssl/lib

# Detect SSL support for the socket module (via _ssl)

search_for_ssl_incs_in = [

'/usr/local/ssl/include',

'/opt/openssl/include',

'/usr/contrib/ssl/include/'

]

ssl_incs = find_file('openssl/ssl.h', inc_dirs,

search_for_ssl_incs_in

)

if ssl_incs is not None:

krb5_h = find_file('krb5.h', inc_dirs,

['/usr/kerberos/include'])

if krb5_h:

ssl_incs += krb5_h

ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,

['/usr/local/ssl/lib',

'/opt/openssl/lib',

'/usr/contrib/ssl/lib/'

] )

继续修改Modules/Setup.dist配置文件

vim Modules/Setup.dist

找到下列SSL所在行并按下列内容修改,其中SSL为openssl自定义安装的路径

SSL=/opt/openssl

_ssl _ssl.c \

-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

-L$(SSL)/lib -lssl -lcrypto

2.3.1.3 编译安装Python2.7

cd /tmp/Python-2.7.14/

mkdir /opt/python2.7

./configure --prefix=/opt/python2.7 --enable-shared --enable-optimizations && make && make install

2.3.2 Python3.6编译安装

2.3.2.1 Python3.6下载并解压

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz && tar -xf Python-3.6.5.tgz -C /tmp

2.3.2.2 修改Python3.6配置文件

cd /tmp/Python-3.6.5

vim setup.py

在该安装脚本中增加openssl的模块路径/opt/openssl/include和/opt/openssl/lib

# Detect SSL support for the socket module (via _ssl)

search_for_ssl_incs_in = [

'/usr/local/ssl/include',

'/opt/openssl/include',

'/usr/contrib/ssl/include/'

]

ssl_incs = find_file('openssl/ssl.h', inc_dirs,

search_for_ssl_incs_in

)

if ssl_incs is not None:

krb5_h = find_file('krb5.h', inc_dirs,

['/usr/kerberos/include'])

if krb5_h:

ssl_incs += krb5_h

ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,

['/usr/local/ssl/lib',

'/opt/openssl/lib',

'/usr/contrib/ssl/lib/'

] )

继续修改Modules/Setup.dist配置文件

vim Modules/Setup.dist

找到下列SSL所在行并按下列内容修改,其中SSL为openssl自定义安装的路径

SSL=/opt/openssl

_ssl _ssl.c \

-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

-L$(SSL)/lib -lssl -lcrypto

2.3.2.3 编译安装Python3.6

mkdir /opt/python3.6/

./configure --prefix=/opt/python3.6 --enable-shared --enable-optimizations --enable-loadable-sqlite-extensions && make && make install

2.3.3 Python环境配置

修改python默认版本

mv /usr/bin/python /usr/bin/python_bak && ln -s /opt/python2.7/bin/python2.7 /usr/bin/python

增加python模块路径配置

echo "/opt/python2.7/lib" >> /etc/ld.so.conf

echo "/opt/python3.6/lib" >> /etc/ld.so.conf

增加python环境变量

echo "export PATH=/opt/python2.7/bin:/opt/python3.6/bin:$PATH" > /etc/profile.d/python.sh

source /etc/profile

三.注意事项

3.1 yum默认配置修改

如果是Linux6类型的系统,需要修改yum的配置

vim /usr/bin/yum

#!/usr/bin/python

修改为:

#!/usr/bin/python2.6

python2 openssl安装_CentOS下openssl和python编译安装相关推荐

  1. cmd进入到python安装目录下_在python中安装basemap

    在python中安装basemap 1. 确保python环境安装完毕且已配置好环境变量 2. 安装geos: pip install geos 3. 下载.whl文件: (1)pyproj‑1.9. ...

  2. php redis 扩展 编译安装,Linux 下 PHP 扩展 redis 编译安装

    Linux环境为 CentOS6.5 64位 安装redis 比较简单,也没什么说的,看官网就行,链接:http://redis.io/download 主要看底部的东西. 安装好 redis 好之后 ...

  3. mysql5.5.35编译安装_CentOS 6.5最小化编译安装mysql 5.5.35

    CentOS 6.5最小化编译安装mysql 5.5.35 1.关闭防火墙:[[email protected] ~]# service iptables stop iptables: Setting ...

  4. OpenSSL在Windows下使用vs2010的编译安装

    1.安装perl,perl可以从http://www.activestate.com/ActivePerl下载. 2打开一个vs的命令行窗口,输入:perl Configure VC-WIN32 –p ...

  5. centos7mimi mysql 安装_CENTOS 6.0 mini系统编译安装mysql 5.5.16过程

    五. 配置启动MySQL 5.5.15 1. mysql 初始化安装 /usr/local/mysql/scripts/mysql_install_db \ --defaults-file=/etc/ ...

  6. Linux(Ubuntu 16.04)下非root用户编译安装Python 3.8.6

    鬼知道我一天天都在什么破事上浪费时间.--鲁迅(不是 起因 老板舍不得买卡,需要训练一个训练起来非常耗时的模型,借了别人服务器使,人家给了一台硬件相当不错(我活这么久没见过).软件极其落后的机器,系统 ...

  7. python编译安装ssl的问题解决

    python编译安装需要ssl模块才能使用pip,且ssl需要支持x509, 如果openssl版本太低,则无法安装ssl对应模块.如果支持ssl,在configure的时候能看到: 以下不需要管理员 ...

  8. python编译安装(centos、uos\ubuntu)

    文章目录 python编译安装 1. centos8 下载编译安装python3.* 2. centos7下编译安装 python3.8.12 编译过程报错 编译报错: Could not impor ...

  9. Linux下通过源码编译安装程序

    本文简单的记录了下,在Linux下如何通过源码安装程序,以及相关的知识. 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的 ...

最新文章

  1. script到底应该放在哪里
  2. SpringCloud教程-注册中心(Consul)(SpringCloud版本Greenwich.SR4)
  3. 深入理解javascript原型和闭包(17)——补this
  4. android 服务端 导入工程,如何导入与配置从网上下载的android源代码及服务器端源代码...
  5. 今年面试,光靠技术肯定不行了!
  6. ue4序列帧ui_UE4入门之路(UI篇):UI性能优化
  7. pcb天线设计和hfss仿真分析实例_5G天线与多天线系统设计
  8. 财富智慧 幸福人生——《菁英财商训练营》首场活动在深圳龙岗文博宫举行
  9. 局域网SDN技术硬核内幕 一 从二层到大二层
  10. 安装uTool之后鼠标中键异常被uTool接管
  11. vue使用Moment插件格式化时间
  12. gephi mysql_用Gephi移动多个节点(Moving multiple nodes with Gephi)
  13. 配置Spring AOP aspectj-autoproxy标签源码解析
  14. linux 脚本判断进程,Shell实现判断进程是否存在并重新启动脚本
  15. C++--数值的整数次方
  16. 机器学习与分布式机器学习_机器学习治疗抑郁症
  17. 支撑马蜂窝「双11」营销大战背后的技术架构
  18. webapi json返回值null替换为空字符串
  19. C# 上传WPS Excel 后台转换成txt,再压缩为ZIP
  20. 12306订票助手java_开源免费Java Swing C/S版本12306订票助手

热门文章

  1. 北京信息科技大学第十一届程序设计竞赛(重现赛)A kotori和糖果
  2. 数据连接池——JNDI
  3. Modbus ASCII LRC生成
  4. IFTTT与Google+是什么?ifttt怎么玩?
  5. 成长笔记1:三层难度步步进阶,我用21部原版动画,带娃积累2000词汇
  6. iOS 4.3.5 红雪不完美越狱教程
  7. oce专项认证 oracle_官方解密Oracle 数据库认证
  8. 下载android版本2.07,sonic app去水下载
  9. PKPM 多层及高层结构CAD软件的高级应用
  10. 产品运营数据分析框架应该包含哪些重要指标?