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 ...
随机推荐
- cms内容模型标签
内容模块 内容模块PC标签调用说明 模块名:content 模块提供的可用操作 操作名 说明 lists 内容数据列表 relation 内容相关文章 hits 内容数据点击排行榜 category ...
- linux crontab详解
服务的启动和停止 cron服务是linux的内置服务,但它不会开机自动启动.可以用以下命令启动和停止服务: /sbin/service crond start /sbin/service crond ...
- Appium (win7系统)环境搭建----完整版
首先感谢 http://www.cnblogs.com/puresoul/p/4696638.html 和 http://www.cnblogs.com/fnng/p/4540731.html ...
- 二叉树终极教程--BinarySearchTree
BinarySearchTreeMap 的 实现 public interface Map<K extends Comparable<K>, V> { void put(K k ...
- Maven搭建SpringMVC+MyBatis+Json项目(多模块项目)
一.开发环境 Eclipse:eclipse-jee-luna-SR1a-win32; JDK:jdk-8u121-windows-i586.exe; MySql:MySQL Server 5.5; ...
- javaSE(九)之泛型(Generics)
前言 这几天分享了怎么搭建集群,这一篇给大家介绍的是泛型,在我们的很多java底层的源代码都是有很多复杂的泛型的!那什么是泛型呢? 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是 ...
- 验证整数 Double 转 int 两种写法
Double 转int 1)之前一直是使用强转 Double num = Double.parseDouble(object.toString()); int n = (int)num; i ...
- Bootstrap中的strong和em强调标签
在Bootstrap中除了使用标签<strong>.<em>等说明正文某些字词.句子的重要性,Bootstrap还定义了一套类名,这里称其为强调类名(类似前面说的“.lead” ...
- C++代码使用 CppUnit 进行单元检测
CppUnit是一个很方便的对C++代码进行单元检测的工具. 如何编译CppUnit参照博客:http://blog.csdn.net/x_iya/article/details/8433716 该博 ...
- oracle数据库备份、还原 (如何将Oracle 11g备份的dat文件导入到10g数据库里面)
如何将Oracle 11g备份的dat文件导入到10g数据库里面 解决方法: 导出的时候后面加上目标数据库的版本号 导出: 在SQL plus下执行:create or replace ...