CentOS 6.x系统升级Python到2.7版本的Shell脚本分享

 更新时间:2014年11月28日 09:28:40   投稿:junjie  
这篇文章主要介绍了CentOS 6.x系统升级Python到2.7版本的Shell脚本分享,本文把升级过程总结成一个自动脚本,需要的朋友可以参考下

在CentOS 6.x上,默认自带的Python是2.6.x版本,这个版本的Python有点老了,比如“collections.OrderedDict”就是2.7才有的,而且著名的Python Web框架Django的新版(如:1.7)就不支持Python2.6,最低要求是2.7了。而一些公司或者共有云上的服务器就是使用CentOS6.x,所以也就有了升级Python到2.7的需求。

升级Python之前,需要先安装一些工具和软件库,否则后面安装Python或pip时可能出错。
Python2.7通过源码安装,python可行执行程序默认是安装在/usr/local/bin/,一般来在$PATH中,/usr/local/bin是优先使用的(如果不是,需要自己设置一下PATH环境变量)。
在安装完python后,还需要安装easy_install和pip这两个最常用工具。

整个安装过程,我总结过如下一个Shell脚本(以安装Python2.7.8为例,以root权限运行),供参考:

https://github.com/smilejay/shell/blob/master/sh2014/install_py27_on_centos.sh

复制代码 代码如下:

#!/bin/bash
# a script to install python 2.7 on CentOS 6.x system.
# CentOS 6.x has python 2.6 by default, while some software (e.g. django1.7)
# need python 2.7.
 
# install some necessary tools & libs
echo "install some necessary tools & libs"
yum groupinstall "Development tools"
yum install openssl-devel zlib-devel ncurses-devel bzip2-devel readline-devel
yum install libtool-ltdl-devel sqlite-devel tk-devel tcl-devel
sleep 5
 
# download and install python
version='2.7.8'
python_url="https://www.python.org/ftp/python/$version/Python-${version}.tgz"
 
# check current python version
echo "before installation, your python version is: $(python -V &2>1)"
python -V 2>&1 | grep "$version"
if [ $? -eq 0 ]; then
  echo "current version is the same as this installation."
  echo "Quit as no need to install."
  exit 0
fi
 
echo "download/build/install your python"
cd /tmp
wget $python_url
tar -zxf Python-${version}.tgz
cd Python-${version}
./configure
make -j 4
make install
sleep 5
 
echo "check your installed python"
python -V 2>&1 | grep "$version"
if [ $? -ne 0 ]; then
  echo "python -V is not your installed version"
  /usr/local/bin/python -V 2>&1 | grep "$version"
  if [ $? -ne 0 ]; then
    echo "installation failed. use '/usr/local/bin/python -V' to have a check"
  fi
  exit 1
fi
sleep 5
 
# install setuptools
echo "install setuptools"
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py
# check easy_install version
easy_install --version
sleep 5
 
# install pip for the new python
echo "install pip for the new python"
easy_install pip
# check pip version
pip -V
 
echo "Finished. Well done!"
echo "If 'python -V' still shows the old version, you may need to re-login."
echo "And/or set /usr/local/bin in the front of your PATH environment variable."
echo "-------------------------"

相关文章

  • Shell脚本IF条件判断和判断条件总结

    Shell脚本IF条件判断和判断条件总结

    这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下
    2014-10-10
  • 每天一个linux命令 whereis命令

    每天一个linux命令 whereis命令

    这篇文章主要为大家详细介绍了一个linux命令:whereis命令,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 如何使用Shell脚本掩盖Linux服务器上的操作痕迹(推荐)

    如何使用Shell脚本掩盖Linux服务器上的操作痕迹(推荐)

    这篇文章主要介绍了使用Shell脚本掩盖Linux服务器上的操作痕迹,需要的朋友可以参考下
    2017-12-12
  • 利用Shell解析处理XML的方法汇总

    利用Shell解析处理XML的方法汇总

    这篇文章主要给大家总结介绍了关于利用Shell解析处理XML的方法,分别介绍了关于xmlint、xpath和xml2三种工具的使用,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-10-10
  • shell通过正则匹配ip地址实例代码

    shell通过正则匹配ip地址实例代码

    这篇文章主要给大家介绍了关于shell如何通过正则匹配ip地址的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用shell具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Linux各项目环境部署记录(换服务器部署脚本整理)

    Linux各项目环境部署记录(换服务器部署脚本整理)

    每次换便宜的服务器都要导致环境重新部署一遍,十分麻烦,于是把每次部署的脚本整理了一下,方便在服务器上快速进行部署,基于 CentOS
    2023-05-05
  • shell脚本杀死指定端口进程的实现示例

    shell脚本杀死指定端口进程的实现示例

    随着越来越广泛的Linux系统使用,如何轻松杀死指定程序端口成为了很多系统管理员最迫切关心的问题,本文就详细的介绍一下如何实现,感兴趣的可以了解一下
    2023-10-10
  • 处理JSON最强命令jq使用场景

    处理JSON最强命令jq使用场景

    jq命令是处理json字符串的神器, 主要用于获取JSON属性/简单重组JSON字符串,本章详细介绍jq的主要应用场景,感兴趣的朋友跟随小编一起看看吧
    2023-07-07
  • 将shell脚本正确的放在后台运行方式

    将shell脚本正确的放在后台运行方式

    这篇文章主要介绍了将shell脚本正确的放在后台运行方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • shell脚本编程之循环语句学习笔记

    shell脚本编程之循环语句学习笔记

    这篇文章主要介绍了shell脚本编程之循环语句学习笔记,本文内容较简单,可以作为shell循环语句的备忘录,忘记怎么写时来看看吧~需要的朋友可以参考下
    2014-09-09

最新评论