最近开始学习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. 详解 Map集合

    (请关注 本人"集合总集篇"博文--<详解 集合框架>) 首先,本人来讲解下 Map集合 的特点: Map集合 的特点: 特点: 通过 键 映射到 值的对象 一个 映射 ...

  2. Flutter 步骤进度组件

    ​老孟导读:最近文章更新拖后腿了,一直忙着网站改版的事情,今天总算落地了,全新的Flutter网站即将上线,敬请期待.网站目前收集197个组件的详细用法,还有150多个组件待整理. Stepper S ...

  3. .NET Core 初识

    什么是 ASP.NET Core? ASP.NET Core 是一个新的开源和跨平台的框架,用于构建如 Web 应用.物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序.ASP.N ...

  4. 即时通信WebSocket 和Socket.IO

    WebSocket HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯. 在2008年诞生,2011年成为国际标准. 现在基本所有浏览器都已经支持了. We ...

  5. Java 多线程 -- 协作模型:生产消费者实现方式一:管程法

    多线程通过管程法实现生产消费者模式需要借助中间容器作为换从区,还包括生产者.消费者.下面以蒸馒头为列,写一个demo. 中间容器: 为了防止数据错乱,还需要给生产和消费方法加锁 并且生产者在容器写满的 ...

  6. 大数据hbase分布式安装及其部署。

    大数据hbase分布式安装及其部署. 首先要启动Hadoop以及zookeeper,可以参考前面发布的文章. 将hbase的包上传至master节点 这里我使用的是1.3.6的版本,具体的根据自己的版 ...

  7. php 判断是否手机端还是pc端

    来自:https://www.cnblogs.com/webenh/p/5621890.html 用手机访问PC端WWW域名的时候,自动判断跳转到移动端,用电脑访问M域名手机网站的时候,自动跳转到PC ...

  8. Python(10)

    如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a.b.c可能的组合? # 注意是三重循环 for a in range(0, 1001): for b i ...

  9. java学习(第四篇)数组

    一.一维数组 1.声明,分配内存 int[] a=new int[10]; 数组元素的数据类型 [] 数组名=new 类型 [数组元素个数]: 2.初始化 int[] a=new int[] {1,2 ...

  10. 13个Python图形库

    By Django中国社区 at 2013-04-27 07:49 Python的13大图形库,matplotlib功能最强大,Cairoplot最漂亮,django-chartit与Django集成 ...