最近开始学习python。

python火了这么久,我终于还是跪舔它了,我是一个跟风的人,学过C、C#、JAVA、PHP,无一例外的浅尝即止,不知道我这双已经近视的眼,确认过的眼神还对不对,希望python是我对的它。
顺便求大神们别再学了,我跟不上了。

言归正传,CentOS7默认已经安装了python2.7的版本,而且yum命令及其他还用到它,所以我们不能删除系统默认安装的python。

那只有在系统中安装自己需要的版本(通常是更高更新的版本),并且和默认版本共存。
具体操作步骤,大概可分为以下几个:

  • 查看系统是否安装python,如有且版本不对,则备份;
  • 修改yum的配置文件;
  • 安装新版本python;
  • 修改python的软链接文件;

一、查看是否已经安装了python(本机器为CentOS Linux release 7.5.1804,最小化安装)
    1.使用python -V命令查看是否安装了python:
        # python -V
        Python 2.7.5
    2.很明显是安装了python的2.7.5版本,这不是我所需要的,所以对这个版本进行备份:
        # which python
        /usr/bin/python
        # cd /usr/bin
        # ls -la python*
        lrwxrwxrwx. 1 root root    7 Jun 20 15:14 python -> python2
        lrwxrwxrwx. 1 root root    9 Jun 20 15:14 python2 -> python2.7
        -rwxr-xr-x. 1 root root 7216 Apr 11 15:36 python2.7
    3.可以看到系统的python命令实际上执行的是python2.7,我们备份下这个链接文件
        # mv python python.bak

二、修改yum配置文件
    1.查看yum文件
        # ls -la /usr/bin/yum*
        -rwxr-xr-x. 1 root root 801 Apr 13 20:58 /usr/bin/yum
    2.查看urlgrabber文件
        # ls -la /usr/libexec/urlgrabber-ext-down
        -rwxr-xr-x. 1 root root 2603 Aug 26  2013 /usr/libexec/urlgrabber-ext-down
    3.使用vim更改上述文件的文件头,把#!/usr/bin/python修改为#!/usr/bin/python2
        # vim /usr/bin/yum
        # vim /usr/libexec/urlgrabber-ext-down

三、安装新版本python
    1.安装编译环境及可能使用到的依赖
        # yum groupinstall "Development Tools"
        # yum install -y ncurses-libs zlib-devel mysql-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
    2.下载最新的版本(目前最新是3.6.5),下载地址:https://www.python.org/downloads/source
        # wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
    3.编译安装
        # tar -xvf Python-3.6.5.tar.xz
        # cd Python-3.6.5
        # ./configure --prefix=/usr/local/python3.6 --enable-optimizations
        # make && make install
        注:--prefix,安装路径;--enable-optimizations,优化选项,大概有10%的性能提升(网上说法,没验证)

四、修改软链接
    1.创建系统软链接
        # ln -s /usr/local/python3.6/bin/python3.6 /usr/bin/python
        # ln -s /usr/local/python3.6/bin/pip3.6 /usr/bin/pip
    2.查看
        # python -V
        # pip -V

文章到此结束。

CentOS7 Installing Python3的更多相关文章

  1. Centos7 安装python3

    Centos7 安装python3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #安装sqlite-devel yum -y ...

  2. centos7安装 python3.6,且保留2.7版本

    CENTOS7安装PYTHON3.6 1. 安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-dev ...

  3. CentOS7 安装Python3,开发SocketIO 客户端

    CentOS7安装Python3,开发SocketIO 客户端 参考:https://blog.csdn.net/lovefengruoqing/article/details/79284573 步骤 ...

  4. CentOS7上Python3.5安装

    CentOS7上Python3.5安装 1.下载 https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.上传到服务器 3. yum in ...

  5. CentOS7+ anaconda3 + Python-3.6 + tensorflow-cpu-1.5安装和配置

    CentOS7+ anaconda3 + Python-3.6 + tensorflow-cpu-1.5安装和配置 ========================================== ...

  6. centos7下python3与python2共存并且开启py3虚拟环境

    因为下载视频需要用到python3环境,今天在我的win上安装下载工具死活安装不上去,在大盘鸡上一下就安装成功了...可能在win上不兼容吧...无奈只能在大盘鸡上进行折腾了,顺便几个笔记 由于大盘鸡 ...

  7. centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题。

    centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题. 原因:yum调用Python,启动程/usr/bin/yum就是一个python ...

  8. Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim

    一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...

  9. 转载: Centos7 升级python3,解决升级后不兼容问题

    Centos7配置更新国内yum源 http://blog.csdn.net/qingguiyu/article/details/50721956 Centos7 升级python3,解决升级后不兼容 ...

随机推荐

  1. 并发工具——CyclicBarrier

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 CyclicBarrier简介 CyclicBarrie ...

  2. Spring5:控制反转

    二.Spring IOC控制反转 1:IOC推导 >传统业务调用编程 定义一个userDao接口:UserDao package com.spring; public interface Use ...

  3. testlink配置修改

    1.      Read/write permissions报错 问题: Checking if  /var/testlink/logs/ directory exists [S] </B< ...

  4. Flutter 分页功能表格控件

    老孟导读:前2天有读者问到是否有带分页功能的表格控件,今天分页功能的表格控件详细解析来来. PaginatedDataTable PaginatedDataTable是一个带分页功能的DataTabl ...

  5. JVM 真的很难学么?不、只是你“不敢学”而已

    JVM 真的很难学么?不.只是你"不敢学"而已        许多招聘的信息上面都说,要了解jvm.多线程什么的对于 java 程序员来说,这是工作好多年的程序员都不一定能掌握的东 ...

  6. 【编程之美】超时重传,滑动窗口,可靠性传输原理C语言实现

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://www.cnblogs.com/lihuidashen/p/128003 ...

  7. 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

    有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...

  8. Inno Setup打包之先卸载再安装

    使用Inno Setup打包程序之后,如果想要在安装前先卸载,那么需要加下面代码,需要注意的是红色标注的改为你们自己的.网上看到有些说_is1前面用AppName,但是我这边验证不行. [Setup] ...

  9. Docker安装Alibaba Nacos教程(单机)

    SpringCloudAlibaba实战教程系列 阿里巴巴Nacos官方文档 docker:官网 docker:镜像官网:镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pul ...

  10. 《图解 HTTP》 摘要一

    学习过程对书本的内容的摘要以及总结,逐步完善,带有个人理解成分. Web 及网络基础 使用 HTTP 协议访问 Web 客户端:通过获取请求获取服务资源的 Web 浏览器等 HTTP 全称:Htype ...