博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos6 编译安装python3.7.4
阅读量:5348 次
发布时间:2019-06-15

本文共 1934 字,大约阅读时间需要 6 分钟。

由于工作需要,目前centos6自带的python2.7已不满足现有需求,特此需要安装python3.7.4

千万记得要安装openssl 不然有可能遇到pip install 提示ssl问题

安装依赖库

yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

安装最新版本的openssl

注意!openssl配置是用config,而不是configure,另外openssl编译安装依赖zlib动态库,所以一定要shared zlib

由于系统的openssl是1.0.1的版本,对于python3.7太老了,需要更新为openssl1.0.2或者libressl2.64(不含)以后的版本,所以这里从libressl官网下载libressl源码,编译生成库文件代替系统的openssl1.0.1

wget https://www.openssl.org/source/openssl-1.1.0k.tar.gz./config --prefix=/usr/local/openssl shared zlibmakemake install

 查看openssl是否安装成功

/usr/local/openssl/bin/openssl version /usr/local/openssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory 这是由于openssl库的位置不正确造成的。

[root@xxxx]# find / -name libssl.so.1.1

/opt/pkg/openssl-1.1.0k/libssl.so.1.1
/usr/local/openssl/lib/libssl.so.1.1

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

[root@xxxx]# /usr/local/openssl/bin/openssl version     安装成功

OpenSSL 1.1.0k 28 May 2019

 设置环境变量LD_LIBRARY_PATH

echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> /etc/profile这一步一定要有!!LD_LIBRARY_PATH环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。当执行函数动态链接.so时,如果此文件不在缺省目录下‘/lib' and ‘/usr/lib',那么就需要指定环境变量LD_LIBRARY_PATH

 编译安装python3.7.4

wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgztar zxf Python-3.7.4.tgz cd Python-3.7.4 ./configure --prefix=/usr/local/python37 --with-openssl=/usr/local/openssl/ make make install

 软连接

cd /usr/bin/ln -s /usr/local/python37/bin/python3.7 python3 ln -s /usr/local/python37/bin/pip3.7 pip3

  

[root@xxx]# python3

Python 3.7.4 (default, Jul 16 2019, 10:00:59)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl          成功
>>>

转载于:https://www.cnblogs.com/wyf-577513827/p/11189777.html

你可能感兴趣的文章
Git核心技术:在Ubuntu下部署Gitolite服务端
查看>>
平面波展开法总结
查看>>
建造者模式
查看>>
ArraySort--冒泡排序、选择排序、插入排序工具类demo
查看>>
composer 安装laravel
查看>>
8-EasyNetQ之Send & Receive
查看>>
Android反编译教程
查看>>
List<string> 去重复 并且出现次数最多的排前面
查看>>
js日志管理-log4javascript学习小结
查看>>
Android之布局androidmanifest.xml 资源清单 概述
查看>>
How to Find Research Problems
查看>>
Linux用户管理
查看>>
数据库第1,2,3范式学习
查看>>
《Linux内核设计与实现》第四章学习笔记
查看>>
使用iperf测试网络性能
查看>>
图片的显示隐藏(两张图片,默认的时候显示第一张,点击的时候显示另一张)...
查看>>
Docker 安装MySQL5.7(三)
查看>>
python 模块 来了 (调包侠 修炼手册一)
查看>>
关于CSS的使用方式
查看>>
分析语句执行步骤并对排出耗时比较多的语句
查看>>