设为首页 收藏本站
查看: 966|回复: 0

[经验分享] CentOS 升级 Python3 (附带: 一键升级脚本)

[复制链接]

尚未签到

发表于 2017-11-15 15:13:40 | 显示全部楼层 |阅读模式
  升级环境







应用名称


版本


Python


3.5.2




Syatem




CentOS 6.7














  升级方法







【1】下载 Python 3:




1






wget http://mirrors.sohu.com/python/3.5.2/Python-3.5.2.tgz






【2】安装依赖




1

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




1

2

3

4

5

6

7

8

9






tar -xzf Python-3.5.2.tgz


cd Python-3.5.2

./configure --prefix=/usr/local/python3 --enable-shared CFLAGS=-fPIC



make -j 4



make install






【4】修改环境变量




1

2

3

4






vim /etc/profile

# 添加
export PATH=$PATH:/usr/local/python3/bin






【5】修改原有的 python




1

2






mv /usr/bin/python /usr/bin/python2.6

ln -s /usr/local/python3/bin/python3.5 /usr/bin/python






【6】修改 lib 文件




1

2

3

4

5






# 查看库文件,如果那个问题,就find找到,然后拷贝到 /lib64 下

ldd /usr/local/python3/bin/python3


cp /usr/local/python3/lib/libpython3.5m.so.1.0 /lib64/






【7】修改 yum




1








sed -i "s#/usr/bin/python#/usr/bin/python2.6#g" /usr/bin/yum






【8】生效检查




1

2

3






source /etc/profile



python -v












  一键安装脚本(附带)










#!/bin/bash
######################################
##                                  ##
##  vers:    1.0                    ##
##  author:  Dylan                  ##
##  date:    20171027               ##
##  useage: Update Python to 3.5   ##
##                                  ##
######################################

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

# 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() {
# 检查联网情况
ping www.baidu.com -c 3
if [ $? != 0 ];then
Echo_Red "该服务器无法连网,请配置服务器网络!"
exit 1
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}
if [ $? != 0 ];then
# 下载安装包
Echo_Yellow "开始从网上下载 ${Python_Package}..."
wget ${Python_Url}
if [ $? != 0 ];then
Echo_Red "网上下载 ${Python_Package} 失败,请检查!"
exit 1
fi
Echo_Yellow "${Python_Package} 下载成功,即将开始升级..."
fi
# 解压安装
Echo_Yellow "开始解压 Python ..."
tar -zxf ${Python_Package} && cd Python-${Python_Version}
if [ $? != 0 ];then
Echo_Red "${Python_Package} 解压失败,请检查!"
exit 1
fi
Echo_Yellow "开始配置 Python ..."
./configure --prefix=${Python_Install_Dir} --enable-shared CFLAGS=-fPIC
if [ $? != 0 ];then
Echo_Red "${Python_Package} 解压失败,请检查!"
exit 1
fi
Echo_Yellow "开始编译 Python ..."
make -j 4
if [ $? != 0 ];then
Echo_Red "${Python_Package} 编译失败,请检查!"
exit 1
fi
Echo_Yellow "开始安装 Python ..."
make install
if [ $? != 0 ];then
Echo_Red "${Python_Package} 安装失败,请检查!"
exit 1
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 ''
Echo_Yellow "==========================================================================="
Echo_Green ''
Echo_Yellow '升级即将开始...'
Echo_Green ''
sleep 2
# 升级
PYTHON_UPDATE

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407260-1-1.html 上篇帖子: CentOS 5.11安装配置LAMP服务器(Apache+PHP5+MySQL) 下篇帖子: [转]CentOS 6.X 关闭TTY方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表