centos7 安装python3

centos7原本就安装了Python2,yum依赖于它。如果要替换掉,需要使用特殊方法。

安装epel更新源

下载epel文件epel-release-latest-7.noarch.rpm

wget https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

安装

rpm -ivh epel-release-latest-7.noarch.rpm

安装编译环境

yum groupinstall -y "Development tools"

更新bash和openssl漏洞以及基本软件

yum install -y bash openssl* ntp vim wget telnet nscd ntpdate

yum clean all

更新服务器时间

ntpdate ntp1.aliyun.com

下载包

去官网下载最新的python安装包

官网地址: https://www.python.org/downloads/

最新版本为3.6.5,下载链接为:

https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

安装python3.6可能使用的依赖

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel zlib zlib-devel

yum install -y readline-devel.x86_64 (一定要安装这个包,不然升级完成后会发现删除退格键用不了)

安装django依赖包

yum install -y sqlite* openssl openssl-devel

编译安装

tar zxvf Python-3.6.5.tgz -C /usr/src/

cd /usr/src/Python-3.6.5

#注意:必须指定--with-ssl,否则使用pip3安装包时,访问ssl链接时,报TLS/SSL错误!

./configure --with-ssl --prefix=/usr/local/python3

make && make install

出现以下信息,表示成功安装

Collecting setuptools

Collecting pip

Installing collected packages: setuptools, pip

Successfully installed pip-9.0.3 setuptools-39.0.1

添加环境变量

vim /etc/profile

最后一行添加,保存退出

PATH=$PATH:/usr/local/python3/bin

重新加载环境变量

source /etc/profile

查看python版本

python3 -V

输出以下信息:

Python 3.6.5

显示是3.6.5表示安装成功

也可以直接输入python3

[root@localhost Python-3.6.5]# python3
Python 3.6.5 (default, Jun 23 2018, 16:32:49)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

备份python文件,添加软链接

将默认的python文件备份

mv /usr/bin/python /usr/bin/python.bak

添加软链接

ln -s /usr/local/python3/bin/python3.6 /usr/bin/python

直接输入python,就是3.6版本

[root@localhost ~]# python
Python 3.6.5 (default, Jun 23 2018, 16:32:49)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit

这个时候,使用yum会报错

[root@localhost ~]# yum install vim
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

修改报错的文件

修改yum文件

vim /usr/bin/yum

将首行改为

#!/usr/bin/python2.7

再次使用yum,再次报错

[root@localhost ~]# yum install -y vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
...
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax

修改报错的文件

vim /usr/libexec/urlgrabber-ext-down

将首行改为

#! /usr/bin/python2.7

最后使用yum命令,完美运行!

[root@localhost ~]# yum install -y vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.neusoft.edu.cn
 * updates: mirrors.neusoft.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.160-2.el7 将被 升级
---> 软件包 vim-enhanced.x86_64.2.7.4.160-4.el7 将被 更新
--> 正在处理依赖关系 vim-common = 2:7.4.160-4.el7,它被软件包 2:vim-enhanced-7.4.160-4.el7.x86_64 需要
--> 正在检查事务
---> 软件包 vim-common.x86_64.2.7.4.160-2.el7 将被 升级
---> 软件包 vim-common.x86_64.2.7.4.160-4.el7 将被 更新
--> 解决依赖关系完成

依赖关系解决

================================================================================================================
 Package                      架构                   版本                            源                    大小
================================================================================================================
正在更新:
 vim-enhanced                 x86_64                 2:7.4.160-4.el7                 base                 1.0 M
为依赖而更新:
 vim-common                   x86_64                 2:7.4.160-4.el7                 base                 5.9 M

事务概要
================================================================================================================
升级  1 软件包 (+1 依赖软件包)

总下载量:6.9 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): vim-enhanced-7.4.160-4.el7.x86_64.rpm                                             | 1.0 MB  00:00:01
(2/2): vim-common-7.4.160-4.el7.x86_64.rpm                                               | 5.9 MB  00:00:01
----------------------------------------------------------------------------------------------------------------
总计                                                                            5.1 MB/s | 6.9 MB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在更新    : 2:vim-common-7.4.160-4.el7.x86_64                                                           1/4
  正在更新    : 2:vim-enhanced-7.4.160-4.el7.x86_64                                                         2/4
  清理        : 2:vim-enhanced-7.4.160-2.el7.x86_64                                                         3/4
  清理        : 2:vim-common-7.4.160-2.el7.x86_64                                                           4/4
  验证中      : 2:vim-common-7.4.160-4.el7.x86_64                                                           1/4
  验证中      : 2:vim-enhanced-7.4.160-4.el7.x86_64                                                         2/4
  验证中      : 2:vim-enhanced-7.4.160-2.el7.x86_64                                                         3/4
  验证中      : 2:vim-common-7.4.160-2.el7.x86_64                                                           4/4

更新完毕:
  vim-enhanced.x86_64 2:7.4.160-4.el7

作为依赖被升级:
  vim-common.x86_64 2:7.4.160-4.el7

完毕!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏python3

linux-centos系统python3.6.2安装

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

842
来自专栏石瞳禅的互联网实验室

看图理解进程间通信IPC

进程间通信(inter-process communication或interprocess communication,简写IPC)是指两个或两个以上进程(或...

2771
来自专栏闵开慧

tomcat里面的文件详细说明

如何安装tomcat服务器   安装Tomcat之前要先安装JDK,可从http://java.sun.com上下载最新版本的JDK。 Tomcat可从Apac...

41010
来自专栏北京马哥教育

CentOS系统启动流程你懂否

一、Linux内核的组成 相关概念: Linux系统的组成部分:内核+根文件系统 内核:进程管理、内存管理、网络协议栈、文件系统、驱动程序。 ...

3744
来自专栏伦少的博客

Kafka安装启动入门教程

转载请务必注明原创地址为:https://dongkelun.com/2018/05/21/kafkaConf/

9013
来自专栏电光石火

eclipse配置tomcat运行时访问路径不要项目名称

1:双击打开tomcat 2:选择Modules,选择你要修改的项目 ? 3:点击Edit,把path修改成空或者你自己想要的路径即可! ?

3096
来自专栏Java架构师历程

4、服务发现

本书主要介绍如何使用微服务来构建应用程序,现在是第四章。第一章已经介绍了微服务架构模式,并讨论了使用微服务的优点与缺点。第二章和第三章介绍了微服务间的通信,并对...

4783
来自专栏北京马哥教育

汇总:Linux文件管理的50个命令

文 | 糖豆 图 | 来源网络 糖豆贴心提醒,本文阅读时间6分钟,文末有秘密! Linux cat命令 cat 命令用于连接文件并打印到标准输出设备上...

5086
来自专栏yukong的小专栏

基于SpringCloud Finchley.SR1 、Spring Oauth2 SpringBoot 2.x、 vue、element-ui 微服务基础脚手架

github 地址 跪求大家star panda微服务工程地址 panda-admin前台工程地址

5333
来自专栏云计算教程系列

如何在Ubuntu 18.04上安装Redis

Redis是一个内存中的键值存储器,以其灵活性,性能和广泛的语言支持而闻名。它通常用作数据库,缓存和消息代理,并支持各种数据结构。

4102

扫码关注云+社区

领取腾讯云代金券