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的更多相关文章

  1. centos6/7 下升级openssl并安装python3

    今天是2019年的最后一天了,看了看自己今年写的随笔就一篇,实在有点少得可怜,就想着趁现在有点时间就再写一篇,^_^ centos6 或者centos 7 python 默认都是安装python 2 ...

  2. Python3.7源码在windows(VS2015)下的编译和安装

    Python3.7源码在windows(VS2015)下的编译和安装 下载官方源码,使用vs2015(WIN10SDK),最python3.7.0的源码进行编译,编译出不同的版本(release,de ...

  3. centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'

    centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法 3.7版本需要一个新的包libffi-de ...

  4. Linux环境(服务器)下非root用户安装Python3.6

    Linux环境(服务器)下非root用户安装Python3.6 在管理实验室集群时候,遇到的问题--非root用户在搭建自己环境时候,如何搭建. 注意: root用户的根目录是root,非root用户 ...

  5. Linux下安装Python3.3.0

    Linux下安装Python3.3.0_路易_新浪博客 Linux下安装Python3.3.0 (2013-01-08 11:45:37)

  6. ACE-6.1.0 linux 下的编译与安装步骤

    ACE-6.1.0 linux 下的编译与安装步骤  引用至http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html 1.从  ...

  7. fedora下手动编译安装vim

    据说手动编译安装可以更适合自己的电脑哦- 1.首先,我门要下载源文件,下载地址:ftp://ftp.vim.org/pub/vim/unix/ 选择一个最新版本,我这里选择的是 vim-7.4.tar ...

  8. Linux下手动编译shogun

    手动编译shogun,如果按照直接按照官网上的步骤进行,会踩非常多的坑,下面分享一下在下的编译过程,希望能为阁下提供些许借鉴. 1. git clone https://github.com/shog ...

  9. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

随机推荐

  1. Java多线程看这一篇就足够了(吐血超详细总结)

    进程与线程 进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程.多进程操作系统能同时达运行多个进程(程序),由于 ...

  2. RobotFrameWork中使用Chrome浏览器

    RF默认使用的是Firefox浏览器,如果要修改为其他浏览器要怎么做呢? 1.按F5搜索关键字[Open Browser],可以看到其帮助信息中说明了不同浏览器时browser参数的值 2.Pytho ...

  3. identity 基础表没有创建 aspnetuserclaims aspnetuserlogins

    protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuild ...

  4. 未安装发布所需的web发布扩展

    解决方案:需要安装web deploy 下载网站:https://www.iis.net/downloads/microsoft/web-deploy 假如还是打不开的话,估计时打开方式错误了, 要用 ...

  5. DFS BFS 学习总结

    DFS 深度优先搜索 基本思路: if(true) 返回 典型例题: 1.马走日(非常典型) #include<iostream> #include<cstring> usin ...

  6. C++ Primer中文第四版

    C++ Primer中文第四版 在简书上发现有挂羊头卖狗肉的,发的plus,而且压缩包还得付钱获取密码,我直接去github搜到了第四版,在此分享一下.   格式:pdf 书签目录:有   下载地址: ...

  7. pytest_pytest-html生成html报告

    前言 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告.兼容Python 2.7,3.6 pytest-html 1.github上源码地址[https://github. ...

  8. volatile-最轻量级的并发实现及其内存语义

    原文连接:(http://www.studyshare.cn/blog/details/1163/0 ) 一.volatile定义 volatile是java并发编程中修饰类的成员变量.成员属性或者对 ...

  9. Date类的相关方法记录

    1.Date类中的时间单位是毫秒,System.currentTimeMills()方法就是获取当前时间到1970年1月1日0时0分0秒(西方时间)的毫秒数. public class Test6 { ...

  10. 2019 2345网址导航java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.2345网址导航等公司offer,岗位是Java后端开发,因为发展原因最终选择去了2345网址导航,入职一年时 ...