专栏首页python3centos7 安装python3

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 条评论
登录 后参与评论

相关文章

  • selenium-python中文版文

    Selenium Python提供了一个简单的绑定式API来使用Selenium WebDriver编写功能/验收测试。通过Selenium Python AP...

    py3study
  • centOS 7下python2升级为p

    ###  centos 7下python自带版本为2.7,但是今天需要用到3,所以升级了一下

    py3study
  • CentOS 编译安装 python 3

    CentOS 6自带的python是2.6的,下面记录下CentOS6源码安装python 3.5的过程

    py3study
  • 关于sql中update语句响应条数为0的情况

    翟凤玺
  • Tomcat 优雅关闭之路

    本文通过阅读Tomcat启动和关闭流程的源码,深入分析不同的Tomcat关闭方式背后的原理,让开发人员能够了解在使用不同的关闭方式时需要注意的点,避免因JVM进...

    2020labs小助手
  • 招聘 | 腾讯云大数据,期待您的加入!

    1、计算机、通信等相关专业,本科及以上学历,3年以上大型互联网产品或分布式系统开发设计经验;

    腾讯云大数据团队
  • Eclipse中添加JDK源码 原

    在使用Eclipse的时候,你肯定遇到过JDK的源码查看不了,如下图,是不是感觉莫名其妙呢?

    云飞扬
  • 万字长文!剑指offer全题解思路汇总

    面试题1:赋值运算符重载:该题主要考察 拷贝构造,构造析构,重载操作符。在面试者使用 c++ 等语言时进行考察。

    程序员小浩
  • mybatis动态sql之foreach补充(二)

    绝命生
  • 数据密封舱——保证混合云安全

    如今云计算已经被很多公司所接受,许多公司都已经在或者准备将云计算部署在自己的某些业务当中。这个时候云计算商业模式的选择,就会成为一个问题。 公有云,私有云,混合...

    叶锦鲤

扫码关注云+社区

领取腾讯云代金券