python2.7.13自动化安装脚本含pip安装配置阿里源yum问题解决

来源:互联网 发布:s90pos机无法连接网络 编辑:程序博客网 时间:2024/05/12 21:30

linux python 2.7.13 自动化安装脚本
包含python 2.7.13安装,pip安装,pip配置为阿里源,安装更新python后yum 问题:ImportError: No module named urlgrabber.grabber 的处理

#!/bin/bash#######################################################PATH=$PATH:$HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/binexport PATHuseroot(){   check_user=`whoami`   if [ "$check_user" == "root" ]   then       echo "user is root"   else       echo "ERROR: user is ${check_user} ,not user root ,please use root"       exit 1    fi}list_info(){clearechocat  << EOF#######*#######*#######*#######*#######*#######*#######*#######*#######*#######*########                               WELCOME  TO  USE                                      ##   NOTE: This script is  suitable for CentOS 7 server Install python version 2.7.13  ##   IF YOU HAVE PROBLEAMS WHERE USE , PLEASE CALL ME                                  ##   AUTHOR: COMPREL                                                                   ########*#######*#######*#######*#######*#######*#######*#######*#######*#######*#######---------------------------------------------------------------------------------------                               Install python 2.7.13---------------------------------------------------------------------------------------EOF}pre_install(){yum install -y gcc zlib-devel bzip2-devel openssl-devel ncurses-devel  |tee /tmp/install_python2.7.13.log >/dev/nullsleep 1CHK_GCC=`rpm -qa | grep -w -c gcc`if [ ${CHK_GCC} -le 1 ];then  echo "ERR : yum package gcc no ok..."  |tee /tmp/install_python2.7.13.log  echo "NOTE : pls check network  yum  and etc.." |tee /tmp/install_python2.7.13.log  echo  exit 1else  echo "message : yum gcc ok." |tee /tmp/install_python2.7.13.logfi  wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgzsleep 1if [ -f Python-2.7.13.tgz ] ; then   echo    echo "message: get file Python-2.7.13.tgz complete.continue.."   |tee /tmp/install_python2.7.13.logelse   echo "ERR : not get file from https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz "  |tee /tmp/install_python2.7.13.log   exit 1      fi}install_python(){mkdir /usr/local/python2.7.13echo "message: mkdir /usr/local/python2.7.13" |tee /tmp/install_python2.7.13.logecho "message: tar get file ." |tee /tmp/install_python2.7.13.logtar -zxvf Python-2.7.13.tgz |tee /tmp/install_python2.7.13.log >/dev/nullcd Python-2.7.13echo "message: configure --prefix=/usr/local/python2.7.13" |tee /tmp/install_python2.7.13.logecho "please wait ... " |tee /tmp/install_python2.7.13.log./configure --prefix=/usr/local/python2.7.13 |tee /tmp/install_python2.7.13.log >/dev/nullsleep 1echo "configure complete,continue..."  |tee /tmp/install_python2.7.13.logecho "message: make && make install" |tee /tmp/install_python2.7.13.logecho "please wait ... " |tee /tmp/install_python2.7.13.logmake && make install |tee /tmp/install_python2.7.13.log >/dev/nullsleep 1echo "make && make install complete,continue..." |tee /tmp/install_python2.7.13.logecho "mv /usr/bin/python /usr/bin/python-bak" |tee /tmp/install_python2.7.13.logmv /usr/bin/python /usr/bin/python-bakecho "ln -s /usr/local/python2.7.13/bin/python2 /usr/bin/python" |tee /tmp/install_python2.7.13.logln -s /usr/local/python2.7.13/bin/python2 /usr/bin/pythonecho "rename python and create ln complete." |tee /tmp/install_python2.7.13.logecho "change yum trouble" |tee /tmp/install_python2.7.13.logsed -i "s/python/python-bak/" /usr/libexec/urlgrabber-ext-downsed -i "s/python/python-bak/" /usr/bin/yumecho "sed /usr/libexec/urlgrabber-ext-down /usr/bin/yum complete " |tee /tmp/install_python2.7.13.logsleep 1yum -y install gccif [ $? -eq 0 ];then   echo "change yum ok" |tee /tmp/install_python2.7.13.log   echo "install python 2.7.13 ok" |tee /tmp/install_python2.7.13.logelse   echo "change yum failed" |tee /tmp/install_python2.7.13.log   echo "install python 2.7.13 failed" |tee /tmp/install_python2.7.13.log   echo "rollback,please wait.." |tee /tmp/install_python2.7.13.log   sed -i "s/python-bak/python/" /usr/libexec/urlgrabber-ext-down   sed -i "s/python-bak/python/" /usr/bin/yum   mv /usr/bin/python /usr/bin/python-2.7.13   rm -rf /usr/bin/python-2.7.13   mv /usr/bin/python-bak /usr/bin/python   echo "rollback  complete " |tee /tmp/install_python2.7.13.log   echo "NOTE : you can check  /tmp/install_python2.7.13.log  "    exit 1fi}install_pip(){echo "install pip ,please wait.." |tee /tmp/install_python2.7.13.logmkdir ~/.pip/yum -y install epel-release |tee /tmp/install_python2.7.13.log >/dev/nullsleep 1yum install python-pip |tee /tmp/install_python2.7.13.log >/dev/nullsleep 1yum clean all |tee /tmp/install_python2.7.13.log >/dev/nullsleep 1echo "install pip complete . checking " |tee /tmp/install_python2.7.13.logecho "use ali pypi " |tee /tmp/install_python2.7.13.logecho '[global]' > ~/.pip/pip.confecho 'index-url = http://mirrors.aliyun.com/pypi/simple/' >> ~/.pip/pip.confecho " " >> ~/.pip/pip.confecho '[install]' >> ~/.pip/pip.confecho 'trusted-host=mirrors.aliyun.com' >> ~/.pip/pip.confpip install flask  |tee /tmp/install_python2.7.13.log >/dev/nullif [ $? -eq 0 ];then  echo "install pip ok " |tee /tmp/install_python2.7.13.logelse  echo "install pip failed,please check /tmp/install_python2.7.13.log" |tee /tmp/install_python2.7.13.log  exit 1fi  }main(){list_infouserootpre_installinstall_pythoninstall_pipecho "NOTE : log file /tmp/install_python2.7.13.log"}main