CentOS6.9下手动编译并安装Python3.7.0
CentOS6.9默认安装的python版本为2.6.6,若想安装python3以上版本,只能手工编译安装

下面介绍Python-3.7.0版本的手动编译并安装的步骤

1、下载Python-3.7.0的源码包
wget -c https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
2、由于pip3工具需要使用openssl,且openssl的版本也必需1.0.2以上版本
CentOS6.9系统默认的openssl版本为1.0.1e版本

然而 yum install openssl openssl-devel 的方式也无法升级到1.0.2版本
那也只能手动编译并安装
下载openssl-1.1.1b.tar.gz新版本的源码包
wget -c https://www.openssl.org/source/openssl-1.1.1b.tar.gz
3、先编译安装openssl1.1.1b
解压tar -zxvf openssl-1.1.1b.tar.gz
cd openssl-1.1.1b
./config --prefix=/usr/local/openssl # 指定安装目录为/usr/local/openssl
make && make install (耗时比较长,需要耐性等待)
编译完成后需要拷贝库文件
cp /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
cp /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
并替换
rm -rf /usr/bin/openssl
重新软链接 ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
4、解压 Python-3.7.0.tgz 源码包,然后进行配置编译
tar -zxvf Python-3.7.0.tgz
./configure --prefix=/usr/local/python3 --with-http_ssl_module --with-openssl=/usr/local/openssl
make (耗时比较长,需要耐性等待)
make install
1)出现如下错误时需要yum安装 yum -y install libffi-devel tk-devel

然后还需要从头开始开始编译
./configure --prefix=/usr/local/python3 --with-http_ssl_module --with-openssl=/usr/local/openssl
make (耗时比较长,需要耐性等待)
make install
出现如下提示,说明编译安装成功

5、创建软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
接下来验证 python3、pip3 能否直接运行

6、用pip3安装uwsgi测试一下
pip3 install uwsgi

pip3 install uwsgi 直接安装提示SSL证书问题
pip3 install --trusted-host files.pythonhosted.org uwsgi # 设为信任站点
安装后也创建软链接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
7、不能每次pip安装软件后都手动创建软链接,可以通过修改PATH系统变量的方式
vim /etc/profile
在最后输入以下内容
PATH=$PATH:/usr/local/python3/bin
export PATH

source /etc/profile # 使配置生效

CentOS6.9下手动编译并安装Python3.7.0的更多相关文章
- centos6/7 下升级openssl并安装python3
今天是2019年的最后一天了,看了看自己今年写的随笔就一篇,实在有点少得可怜,就想着趁现在有点时间就再写一篇,^_^ centos6 或者centos 7 python 默认都是安装python 2 ...
- Python3.7源码在windows(VS2015)下的编译和安装
Python3.7源码在windows(VS2015)下的编译和安装 下载官方源码,使用vs2015(WIN10SDK),最python3.7.0的源码进行编译,编译出不同的版本(release,de ...
- centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'
centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法 3.7版本需要一个新的包libffi-de ...
- Linux环境(服务器)下非root用户安装Python3.6
Linux环境(服务器)下非root用户安装Python3.6 在管理实验室集群时候,遇到的问题--非root用户在搭建自己环境时候,如何搭建. 注意: root用户的根目录是root,非root用户 ...
- Linux下安装Python3.3.0
Linux下安装Python3.3.0_路易_新浪博客 Linux下安装Python3.3.0 (2013-01-08 11:45:37)
- ACE-6.1.0 linux 下的编译与安装步骤
ACE-6.1.0 linux 下的编译与安装步骤 引用至http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html 1.从 ...
- fedora下手动编译安装vim
据说手动编译安装可以更适合自己的电脑哦- 1.首先,我门要下载源文件,下载地址:ftp://ftp.vim.org/pub/vim/unix/ 选择一个最新版本,我这里选择的是 vim-7.4.tar ...
- Linux下手动编译shogun
手动编译shogun,如果按照直接按照官网上的步骤进行,会踩非常多的坑,下面分享一下在下的编译过程,希望能为阁下提供些许借鉴. 1. git clone https://github.com/shog ...
- [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
from: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...
随机推荐
- Nginx - 安装并启动Nginx
1 - 安装Nginx 官网步骤:http://nginx.org/en/linux_packages.html#RHEL-CentOS [Anliven@h202 ~]$ sudo vim /etc ...
- MySQL ALTER TABLE语法
先看一下定义(密密麻麻) ALTER TABLE tbl_name [alter_specification [, alter_specification] ...] [partition_optio ...
- 利用MySQL存储过程批量插入100W条测试数据
DROP PROCEDURE IF EXISTS insert_batch; CREATE PROCEDURE insert_batch() BEGIN ; loopname:LOOP '); ; T ...
- 深度学习-生成对抗网络GAN笔记
生成对抗网络(GAN)由2个重要的部分构成: 生成器G(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器 判别器D(Discriminator):判断这张图像是真实的 ...
- 论文笔记 : NCF( Neural Collaborative Filtering)
ABSTRACT 主要点为用MLP来替换传统CF算法中的内积操作来表示用户和物品之间的交互关系. INTRODUCTION NeuCF设计了一个基于神经网络结构的CF模型.文章使用的数据为隐式数据,想 ...
- 为 WPF 程序添加 Windows 跳转列表的支持
原文:为 WPF 程序添加 Windows 跳转列表的支持 Windows 跳转列表是自 Windows 7 时代就带来的功能,这一功能是跟随 Windows 7 的任务栏而发布的.当时应用程序要想用 ...
- .net Dapper 实践系列(4) ---数据查询(Layui+Ajax+Dapper+MySQL)
写在前面 上一小节,总结了数据显示时,会出现的日期问题.以及如何处理格式化日期.这个小节,主要总结的是使用Dapper 中的QueryMultiple方法依次显示查询多表的数据. 实践步骤 1.在Bo ...
- js 杂症,this with 变量提升
一.this.xx 和 xx 是两回事 受后端语言影响,总把this.xx 和xx 当中一回事,认为在function中,xx 就是this.xx,其实完全两回事: this.xx 是沿着this 原 ...
- 图像平移 cv.warpAffine()函数用法
# 图像平移image1='C:\\Users\\10107472\\Desktop\\myfile\\tensorflow-yolov\\read.jpg'img = cv.imread(image ...
- JavaScript_proto_和prototype到底是什么玩意
_proto_和prototype到底有什么区别啊?是个什么东西啊? 在这里我头也比较大啊,小学语文没学好,所以组织能力比较差劲,所以尽量的咱用代码来解释吧. function too() { thi ...