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

这篇博客详细介绍了如何在Linux环境下使用自动化脚本安装Python 2.7.13,同时配置pip使用阿里源,并解决了升级Python后遇到的yum模块导入错误问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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/bin
export PATH

useroot()
{
   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()
{
clear
echo

cat  << 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/null
sleep 1
CHK_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 1
else
  echo "message : yum gcc ok." |tee /tmp/install_python2.7.13.log
fi  

wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
sleep 1
if [ -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.log
else
   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.13
echo "message: mkdir /usr/local/python2.7.13" |tee /tmp/install_python2.7.13.log

echo "message: tar get file ." |tee /tmp/install_python2.7.13.log

tar -zxvf Python-2.7.13.tgz |tee /tmp/install_python2.7.13.log >/dev/null
cd Python-2.7.13

echo "message: configure --prefix=/usr/local/python2.7.13" |tee /tmp/install_python2.7.13.log
echo "please wait ... " |tee /tmp/install_python2.7.13.log

./configure --prefix=/usr/local/python2.7.13 |tee /tmp/install_python2.7.13.log >/dev/null
sleep 1
echo "configure complete,continue..."  |tee /tmp/install_python2.7.13.log

echo "message: make && make install" |tee /tmp/install_python2.7.13.log
echo "please wait ... " |tee /tmp/install_python2.7.13.log
make && make install |tee /tmp/install_python2.7.13.log >/dev/null
sleep 1
echo "make && make install complete,continue..." |tee /tmp/install_python2.7.13.log

echo "mv /usr/bin/python /usr/bin/python-bak" |tee /tmp/install_python2.7.13.log
mv /usr/bin/python /usr/bin/python-bak
echo "ln -s /usr/local/python2.7.13/bin/python2 /usr/bin/python" |tee /tmp/install_python2.7.13.log
ln -s /usr/local/python2.7.13/bin/python2 /usr/bin/python

echo "rename python and create ln complete." |tee /tmp/install_python2.7.13.log

echo "change yum trouble" |tee /tmp/install_python2.7.13.log
sed -i "s/python/python-bak/" /usr/libexec/urlgrabber-ext-down
sed -i "s/python/python-bak/" /usr/bin/yum
echo "sed /usr/libexec/urlgrabber-ext-down /usr/bin/yum complete " |tee /tmp/install_python2.7.13.log

sleep 1

yum -y install gcc
if [ $? -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.log
else
   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 1
fi
}

install_pip()
{
echo "install pip ,please wait.." |tee /tmp/install_python2.7.13.log
mkdir ~/.pip/
yum -y install epel-release |tee /tmp/install_python2.7.13.log >/dev/null
sleep 1
yum install python-pip |tee /tmp/install_python2.7.13.log >/dev/null
sleep 1
yum clean all |tee /tmp/install_python2.7.13.log >/dev/null
sleep 1
echo "install pip complete . checking " |tee /tmp/install_python2.7.13.log

echo "use ali pypi " |tee /tmp/install_python2.7.13.log

echo '[global]' > ~/.pip/pip.conf
echo 'index-url = http://mirrors.aliyun.com/pypi/simple/' >> ~/.pip/pip.conf
echo " " >> ~/.pip/pip.conf
echo '[install]' >> ~/.pip/pip.conf
echo 'trusted-host=mirrors.aliyun.com' >> ~/.pip/pip.conf


pip install flask  |tee /tmp/install_python2.7.13.log >/dev/null
if [ $? -eq 0 ];then
  echo "install pip ok " |tee /tmp/install_python2.7.13.log
else
  echo "install pip failed,please check /tmp/install_python2.7.13.log" |tee /tmp/install_python2.7.13.log
  exit 1
fi  
}


main()
{
list_info
useroot
pre_install
install_python
install_pip
echo "NOTE : log file /tmp/install_python2.7.13.log"
}

main
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值