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. Android File Transfer Mac: 如何在 macOS 和 Android 系统之间移动数据

    三大 Mac OS X 系统 Android 文件传输软件 谷歌出品的 Android File Transfer 如何在 Mac 系统上使用 Android File Transfer Androi ...

  2. 在 Java 中不使用多余变量交换两个字符串

    在 Java 中不使用多余变量交换两个字符串 public class Test { public static void main(String[] args) { String a = " ...

  3. vue脚手架(vue-cli)老版本(2.xx版)的使用

    1. 在idea新建一个Static Web项目 2. 在新建的项目下打开cmd 3. 输入安装脚手架命令:npm install -g vue-cli 4. 查看安装的版本:vue -V   (2. ...

  4. 常用SQL指令

    SQL去重复语句:select 改为Delete select * from TRWTC01 where ITEM_NAME in (select ITEM_NAME from TRWTC01 gro ...

  5. Delphi RSA加解密【 (RSA公钥加密,私钥解密)、(RSA私钥加密,公钥解密)、MD5加密、SHA加密】

    作者QQ:(648437169) 点击下载➨delphi RSA加解密 [Delphi RSA加解密]支持 (RSA公钥加密,私钥解密).(RSA私钥加密,公钥解密).MD5加密.SHA1加密.SHA ...

  6. EasyExcel写文件

    公共部分 HttpServletResponse // 需要处理response HttpServletResponse response; response.reset(); response.se ...

  7. CF933E A Preponderant Reunion DP

    传送门 题解搬运工 设原问题为问题A.每一次减少\(\min\{p_i , p_{i+1}\}\)难以处理,我们考虑将限制变得宽松一些:每一次可以减少\([1,\min\{p_i , p_{i+1}\ ...

  8. nginx+lua访问流量实时上报kafka

    在nginx这一层,接收到访问请求的时候,就把请求的流量上报发送给kafka storm才能去消费kafka中的实时的访问日志,然后去进行缓存热数据的统计 从lua脚本直接创建一个kafka prod ...

  9. 图解HTTP(二)

    第四章 返回结果的HTTP状体码 1.状态码告知从服务器返回的结果   类别 原因短语 1XX Infomational信息性状态码 接收的请求正在处理中 2XX Success成功状态码 请求正常处 ...

  10. React Native 开发豆瓣评分(七)首页组件开发

    首页内容拆分 看效果图,首页由热门影院.豆瓣热门.热门影视等列表组成,每个列表又由头加横向滑动的 电影海报列表构成. 所以可以先把页面的电影海报.评分.列表头做成组件,然后在使用 ScrollView ...