最近开始学习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. ubuntu16.04-交叉编译opencv3.4.6

    0.前言 在要移植opecv和SeetaFaceEngine-master到ARM板子上运行的所有步骤之前,有几点需要注意的: 查看板子运行的Kernel版本 交叉编译工具链的gcc版本,关键就是工具 ...

  2. tensorflow1.0 构建lstm做图片分类

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #this is data mni ...

  3. TensorFlow的图像NCHW与NHWC

    import tensorflow as tf x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] with tf.Session() as sess: a = t ...

  4. Java IO基础--File常用操作(递归)

    File中经常会使用递归方法打印属性结构.统计文件夹下文件个数.子文件夹个数以及文件大小,可以作为递归的应用练习. 递归的写法,百度一搜一大堆,这里我使用对javabean方式封装了一下: packa ...

  5. PHP--关于上传文件大小的问题

    参考:https://www.cnblogs.com/jianqingwang/p/5863960.html https://blog.csdn.net/u013168253/article/deta ...

  6. webug3.0靶场渗透基础Day_1

    第一关: 最简单的get注入 单引号报错 http://192.168.129.136/pentest/test/sqli/sqltamp.php?gid=1' order by 5 --+     ...

  7. DFS(单词方阵)

    思路: 先把地图二维字符数组存进去之后,遍历寻找到一个‘y’,然后我们可以设置一个八个方向的方向数组,让‘y’的坐标,遍历加上方向坐标,找到’i‘然后沿着这个方向,dfs下去,每次寻找到正确的,然后建 ...

  8. 反向代理负载均衡之nginx

    一.集群 1.1 什么是集群 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性 ...

  9. Python封装应用程序的最佳项目结构是什么?

    Python封装应用程序的最佳项目结构是什么? 转载来源于stackoverflow:https://stackoverflow.com/questions/193161/what-is-the-be ...

  10. Jenkins+Jmeter+Ant   生成测试报告

    <?xml version="1.0" encoding="UTF-8"?> <project name="wms_test&quo ...