CentOS 升级 Python3 (附带: 一键升级脚本)
|
应用名称
|
版本
|
|
Python
|
3.5.2
|
|
Syatem
|
CentOS 6.7
|
|
|
wget http://mirrors.sohu.com/python/3.5.2/Python-3.5.2.tgz
|
|
|
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel
yum -y install sqlite-devel readline-devel tk-devel gcc make
|
|
|
tar -xzf Python-3.5.2.tgz
cd Python-3.5.2 ./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC make install
|
|
|
vim /etc/profile
# 添加 export PATH=$PATH:/usr/local/python3/bin |
|
|
mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/python3/bin/python3.5 /usr/bin/python
|
|
|
# 查看库文件,如果那个问题,就find找到,然后拷贝到 /lib64 下
ldd /usr/local/python3/bin/python3 cp /usr/local/python3/lib/libpython3.5m.so.1.0 /lib64/ |
|
|
sed -i "s#/usr/bin/python#/usr/bin/python2.6#g" /usr/bin/yum
|
|
|
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 (附带: 一键升级脚本)的更多相关文章
- 转载: Centos7 升级python3,解决升级后不兼容问题
Centos7配置更新国内yum源 http://blog.csdn.net/qingguiyu/article/details/50721956 Centos7 升级python3,解决升级后不兼容 ...
- Centos下给PHP一键升级高版本7.2.0
我是在Centos下测试的,目前php版本是7.0.0,我要升级到php7.2.0,下面开始. 执行命令 # wget http://soft.vpser.net/lnmp/upgrade_php.s ...
- Python2.x升级python3.x【升级步骤和错误总结】
网上帖子一大堆,按照那些教程操作,确实可以成功安装.但是安装成功之后呢,pip还是用的python2的pip. 切换到python3的pip之后,发现无法下载模块,还会有很多报错信息.以及" ...
- asp.net 版本一键升级,后台直接调用升级脚本
应客户需求,要求实现一个版本一键升级的功能,咨询过同事之后弄了个demo出来,后台代码如下: //DBConnModelInfo:连接字符串的对象 (包含数据库实例名,数据库名,登陆名,登陆密码) p ...
- centos 升级python3
升级pip3 wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py 升级python3 yum install epel-r ...
- 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 ...
- Ubuntu18.04 一键升级Python所有第三方包
一.pip是什么 pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 二.升级pip版本 1.默认Ubuntu自带的pip (pip 9.0.1)是基 ...
- 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!
去年10-28号,我发布了一篇文章<海王星给你好看!FineUI v4.0公测版发布暨<你找BUG我送书>活动开始>,标志着FineUI开始向4.0版本迈进.经过4个月3个公测 ...
- 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 ...
随机推荐
- python 输出颜色的与样式的方法
上次遇到这个问题就想写下来,其实当时我也不怎么会,老师说这个东西不需要理解,只需要死记硬背,写的多了就记住了,所以今天搜集了几篇文章,加上自己的理解,写下了这篇python 输出颜色的样式与方法的文章 ...
- node.js的安装及配置
一.安装 直接在浏览器搜索node.js,在官网上下载(一般旧版的更加稳定,比如下载4.4.7版本) 点击DOWNLOADS 往下翻,点击Previous Release Windows下载msi(6 ...
- Spring - bean的autowire属性(自动装配)
当我们要往一个bean的某个属性里注入另外一个bean,我们会使用<property> + <ref/>标签的形式.但是对于大型项目,假设有一个bean A被多个bean引用注 ...
- 离线安装 Cloudera Manager 5 和 CDH5.10
关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...
- SpringMVC的数据格式化-注解驱动的属性格式化
一.什么是注解驱动的属性格式化? --在bean的属性中设置,SpringMVC处理 方法参数绑定数据.模型数据输出时自动通过注解应用格式化的功能. 二.注解类型 1.DateTimeFormat @ ...
- String类的替换方法(9)
1:String replace(char old,char new) 2: String replace(String old,String new) 3: trim();//去除字符串空格 ...
- JQuery中关于浏览器兼容性的问题
前 言 LIUWE JQuery是一个特别强大的javascript代码库,,它的操作DOM的能力是相当强大的,JQuery可以说是支持各大主流浏览器,但是随着时代的不断发展,浏览器是在不断的更 ...
- [js高手之路] html5 canvas系列教程 - 认识canvas以及基本使用方法
canvas是html5中引入的一个新元素,俗称画布,既然是画布,当然是用来画图的.canvas技术指的是利用javascript操作canvas元素绘制图形的技术,要使用canvas,一定要浏览器支 ...
- js中如何在一个函数里面执行另一个函数
1.js中如何在函数a里面执行函数b function a(参数c){ b(); } function b(参数c){ } 方法2: <script type="text/javasc ...
- JAVA多线程---wait() & join()
题外话: interrupt()方法 并不能中断一个正常运行的线程!!! class myThread extends Thread{ @Override public void run(){ fo ...