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开发,首先得 ...
随机推荐
- Java多线程看这一篇就足够了(吐血超详细总结)
进程与线程 进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程.多进程操作系统能同时达运行多个进程(程序),由于 ...
- RobotFrameWork中使用Chrome浏览器
RF默认使用的是Firefox浏览器,如果要修改为其他浏览器要怎么做呢? 1.按F5搜索关键字[Open Browser],可以看到其帮助信息中说明了不同浏览器时browser参数的值 2.Pytho ...
- identity 基础表没有创建 aspnetuserclaims aspnetuserlogins
protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuild ...
- 未安装发布所需的web发布扩展
解决方案:需要安装web deploy 下载网站:https://www.iis.net/downloads/microsoft/web-deploy 假如还是打不开的话,估计时打开方式错误了, 要用 ...
- DFS BFS 学习总结
DFS 深度优先搜索 基本思路: if(true) 返回 典型例题: 1.马走日(非常典型) #include<iostream> #include<cstring> usin ...
- C++ Primer中文第四版
C++ Primer中文第四版 在简书上发现有挂羊头卖狗肉的,发的plus,而且压缩包还得付钱获取密码,我直接去github搜到了第四版,在此分享一下. 格式:pdf 书签目录:有 下载地址: ...
- pytest_pytest-html生成html报告
前言 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告.兼容Python 2.7,3.6 pytest-html 1.github上源码地址[https://github. ...
- volatile-最轻量级的并发实现及其内存语义
原文连接:(http://www.studyshare.cn/blog/details/1163/0 ) 一.volatile定义 volatile是java并发编程中修饰类的成员变量.成员属性或者对 ...
- Date类的相关方法记录
1.Date类中的时间单位是毫秒,System.currentTimeMills()方法就是获取当前时间到1970年1月1日0时0分0秒(西方时间)的毫秒数. public class Test6 { ...
- 2019 2345网址导航java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.2345网址导航等公司offer,岗位是Java后端开发,因为发展原因最终选择去了2345网址导航,入职一年时 ...