升级环境
 
应用名称
版本
Python
3.5.2
Syatem
CentOS 6.7
 
 
 
  升级方法
 
【1】下载 Python 3:
wget http://mirrors.sohu.com/python/3.5.2/Python-3.5.2.tgz
 
 
【2】安装依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel
yum -y install sqlite-devel readline-devel tk-devel gcc make
 
 
【3】编译安装 python3
tar -xzf Python-3.5.2.tgz

cd Python-3.5.2

./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC
 
 
make install
 
 
【4】修改环境变量
vim /etc/profile

# 添加
export PATH=$PATH:/usr/local/python3/bin
 
 
【5】修改原有的 python
mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/python3/bin/python3.5 /usr/bin/python
 
 
【6】修改 lib 文件
# 查看库文件,如果那个问题,就find找到,然后拷贝到 /lib64 下

ldd /usr/local/python3/bin/python3

cp /usr/local/python3/lib/libpython3.5m.so.1.0 /lib64/
 
 
【7】修改 yum
sed -i "s#/usr/bin/python#/usr/bin/python2.6#g" /usr/bin/yum
 
 
【8】生效检查
source /etc/profile

python -v
 
 
 
  一键安装脚本(附带)
 
#!/bin/bash

######################################
##                                  ##
##  vers:    1.0                    ##
##  author:  Dylan                  ##
##                 ##
##  useage: Update Python to 3.5   ##
##                                  ##
######################################

#定义颜色输出
Color_Text() {
  echo -e " \e[0;$2m$1\e[0m"
}

Echo_Red() {
  ")
}

Echo_Green() {
  ")
}

Echo_Yellow() {
  ")
}

# Python 版本
Python_Version='3.5.2'

# Python 安装包
Python_Package="Python-${Python_Version}.tgz"

# Python 下载地址
Python_Url="http://mirrors.sohu.com/python/${Python_Version}/${Python_Package}"

# 包存放地址
Package_Dir=$(pwd)

# 安装目录
Python_Install_Dir="/usr/local/python-${Python_Version}"

# 网络检查
NETWORK_CHECK() {

    # 检查联网情况

     ];then
        Echo_Red "该服务器无法连网,请配置服务器网络!"
        exit
    fi

}

# 升级 Python
PYTHON_UPDATE() {

    # 检查网络
    NETWORK_CHECK

    # 安装依赖
    Echo_Green '安装依赖:'
    yum -y install zlib-devel bzip2-devel wget openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

    # 检查 Python 版本
    Echo_Green '当前版本 Python:'
    Echo_Yellow "==========================================================================="
    /usr/bin/python -V
    Echo_Yellow "==========================================================================="

    # 确认升级
    read -p "是否继续升级 Python [y/n]:" Chose_Number
    case ${Chose_Number} in
        [yY][eE][sS]|[yY])
            Echo_Yellow "你选择的是yes,升级继续进行..."
        ;;
        [nN][oO]|[nN])
            Echo_Yellow "你选择的是yes,升级即将终止..."
            exit
        ;;
        *)
            Echo_Red "输入错误,即将退出升级..."
            exit
    esac

    # 检测包是否存在
    ls -l ${Package_Dir}/${Python_Package}

     ];then
        # 下载安装包
        Echo_Yellow "开始从网上下载 ${Python_Package}..."
        wget ${Python_Url}
         ];then
            Echo_Red "网上下载 ${Python_Package} 失败,请检查!"
            exit
        fi
        Echo_Yellow "${Python_Package} 下载成功,即将开始升级..."
    fi

    # 解压安装
    Echo_Yellow "开始解压 Python ..."
    tar -zxf ${Python_Package} && cd Python-${Python_Version}

     ];then
        Echo_Red "${Python_Package} 解压失败,请检查!"
        exit
    fi

    Echo_Yellow "开始配置 Python ..."
    ./configure --prefix=${Python_Install_Dir} --enable-shared CFLAGS=-fPIC

     ];then
        Echo_Red "${Python_Package} 解压失败,请检查!"
        exit
    fi

    Echo_Yellow "开始编译 Python ..."

     ];then
        Echo_Red "${Python_Package} 编译失败,请检查!"
        exit
    fi

    Echo_Yellow "开始安装 Python ..."
    make install

     ];then
        Echo_Red "${Python_Package} 安装失败,请检查!"
        exit
    fi

    # 配置环境变量
    Echo_Yellow "修改环境变量 ..."
    echo "export PATH=\$PATH:${Python_Install_Dir}/bin" >>/etc/profile

    # 修改原有的 Python 为新的
    Echo_Yellow "替换旧版 Python ..."
    mv /usr/bin/python /tmp
    ln -s ${Python_Install_Dir}/bin/python3 /usr/bin/python

    # 修改库文件
    Echo_Yellow "修改 Python 库文件 ..."
    ldd ${Python_Install_Dir}/bin/python3
    cp ${Python_Install_Dir}/lib/libpython3.5m.so.1.0 /lib64/

    # 修改 yum 配置
    Echo_Yellow "修改 yum 文件 ..."
    sed -i "s#/usr/bin/python#/usr/bin/python2.6#g" /usr/bin/yum

    # 使配置生效
    source /etc/profile

    # 查看升级后版本
    Echo_Green '当前版本 Python(建议手动执行:source /etc/profile):'
    Echo_Yellow "==========================================================================="
    /usr/bin/python -V
    Echo_Yellow "==========================================================================="
}

# 输出安装信息
Echo_Yellow "==========================================================================="
Echo_Green ''
Echo_Green '版本:1.0'
Echo_Green '作者:Dylan'
Echo_Green '日期:20171027'
Echo_Green '备注:详情可以联系QQ:1214966109'
Echo_Green ''
Echo_Yellow "==========================================================================="
Echo_Green ''
Echo_Yellow '升级即将开始...'
Echo_Green ''

# 升级
PYTHON_UPDATE
 
 
 
 

body,td { font-family: 微软雅黑; font-size: 10pt }

CentOS 升级 Python3 (附带: 一键升级脚本)的更多相关文章

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

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

  2. Centos下给PHP一键升级高版本7.2.0

    我是在Centos下测试的,目前php版本是7.0.0,我要升级到php7.2.0,下面开始. 执行命令 # wget http://soft.vpser.net/lnmp/upgrade_php.s ...

  3. Python2.x升级python3.x【升级步骤和错误总结】

    网上帖子一大堆,按照那些教程操作,确实可以成功安装.但是安装成功之后呢,pip还是用的python2的pip. 切换到python3的pip之后,发现无法下载模块,还会有很多报错信息.以及" ...

  4. asp.net 版本一键升级,后台直接调用升级脚本

    应客户需求,要求实现一个版本一键升级的功能,咨询过同事之后弄了个demo出来,后台代码如下: //DBConnModelInfo:连接字符串的对象 (包含数据库实例名,数据库名,登陆名,登陆密码) p ...

  5. centos 升级python3

    升级pip3 wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py 升级python3 yum install epel-r ...

  6. Centos 7 x86_64 环境Python2.7升级Python3.7.4

    升级Python3.7.4 #安装补丁包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel read ...

  7. Ubuntu18.04 一键升级Python所有第三方包

    一.pip是什么 pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 二.升级pip版本 1.默认Ubuntu自带的pip (pip 9.0.1)是基 ...

  8. 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!

    去年10-28号,我发布了一篇文章<海王星给你好看!FineUI v4.0公测版发布暨<你找BUG我送书>活动开始>,标志着FineUI开始向4.0版本迈进.经过4个月3个公测 ...

  9. centos 7 python2.7.5升级到3.5.2

    centos 7 python2.7.5升级到3.5.2 下载python3.5.2 wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2 ...

随机推荐

  1. 201521123026 《java程序设计》 第九周学习总结

    1. 本章学习总结 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) PTA提交结果: 运行结果截图: 1.2 ...

  2. 201521123079《java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 1.实现多线程的方式: 方式一:继承Thread类 a.自定义类继承Thread类 b.在自定义类中重写ru ...

  3. hibernate中Query的list和iterator区别(续)

    打开cache后query的list和iterator方法区别 将query 的cache打开的话,缓存的是query本身,以hql 生成的 sql ,再加上参数,分页等信息做为key值,而不是que ...

  4. SpringMVC的数据格式化-注解驱动的属性格式化

    一.什么是注解驱动的属性格式化? --在bean的属性中设置,SpringMVC处理 方法参数绑定数据.模型数据输出时自动通过注解应用格式化的功能. 二.注解类型 1.DateTimeFormat @ ...

  5. ACM-ICPC北京赛区(2017)网络赛_Minimum

    题目9 : Minimum 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a list of integers a0, a1, -, a2^k ...

  6. LPCTSTR LPCWSTR LPCSTR 含义

    #ifdef UNICODE#define LPCTSTR LPCWSTR#else#define LPCTSTR LPCSTR#endif      LPCTSTR A 32-bit pointer ...

  7. hud 2577 How to Type

    How to Type Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. 《算法导论》学习总结 — XX.第23章 最小生成树

    一.什么叫最小生成树 一个无向连通图G=(V,E),最小生成树就是联结所有顶点的边的权值和最小时的子图T,此时T无回路且连接所有的顶点,所以它必须是棵树. 二.为什么要研究最小生成树问题 <算法 ...

  9. java递归的应用和实例

    使用计算机计算组合数: 1.使用组合数公式利用n!来计算 设计思想 (1)首先解决求n!的函数 (2)再结合组合数公式,求组合数 程序流程图 源程序代码 package Zuote; import j ...

  10. vue2购物车ch3-(过滤器使用 单件商品金额计算 全选全不选 总金额计算 删除商品功能)

    1 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...