前言:


    自己会创建很多的虚拟机来模拟真实情况,从而每次在每个虚拟机会做很多重复的工作,从而使用shell脚本来简化,此次是因为每次都要升级python到2.7版本,从而写出下面的shell。


    在安装软件的时候,将所有需要安装的软件放在单独的目录install中,便于规范整理,例如如下:

[root@Bserver install]# ls -l

total 25988

-rw-r--r-- 1 root root  7700057 Sep 19 11:19 Django-1.10.1.tar.gz

-rw-r--r-- 1 root root   108935 Sep 19 11:19 MySQL-python-1.2.5.zip

-rw-r--r-- 1 root root  1138794 Sep 19 11:19 pip-8.1.0.tar.gz

-rw-r--r-- 1 root root 16856409 Sep 19 11:19 Python-2.7.11.tgz

-rw-r--r-- 1 root root   793737 Sep 19 11:19 setuptools-7.0.tar.gz

-rw-r--r-- 1 root root     1512 Sep 19 11:19 upgradepython.sh


    在进行执行脚本的时候,直接使用sh upgradepython.sh执行即可,分别的步骤如下:

  1. 检查需要安装的包是否安装,如果没有安装,那么直接使用yum进行安装

  2. 安装python,这个大约需要六分钟时间

  3. 将python进行链接,并且解决yum不能使用的问题

  4. 安装setuptools

  5. 安装pip

  6. 安装Django

  7. 安装mysql模块

  8. 将mysql设置开机启动并启动

  9. 打印Django版本




    脚本内容如下:测试可以使用,并且可以直接使用django,然后运行测试,可以修改settings,然后使用mysql数据库:

#!/bin/bash

#filename:upgradepython.sh

#date:2016/09/19

#version:1.0

#author:kel

INSTALLPATH=/server/install/

#check the package 

echo "check the package"

for i in  python-devel readline-devel sqlite-devel bzip2-devel openssl-devel ncurses-devel zlib-devel  readline sqlite bzip2 openssl libdbi ncurses zlib gdbm MySQL-python mysql-server mysql-devel

do

result=`rpm -qa $i`

if [ ! -n "$result" ]

then

yum -y install $i &>/dev/null

else 

echo "--$i is install --"

fi

done


#install python

echo "install python ,will take six minutes,smoking now..." 

cd $INSTALLPATH && tar -zxvf Python-* &>/dev/null && cd Python-* && ./configure --prefix=/usr/local/python &>/dev/null && make &>/dev/null && make install &>/dev/null && echo "python is installed /usr/local/python"


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

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

ln -s /usr/local/python/bin/python /usr/bin/python


cd $INSTALLPATH && tar -zxvf setuptools-* &>/dev/null && cd setuptools-* && python setup.py install &>/dev/null && echo "setuptools is installed"

cd $INSTALLPATH && tar -zxvf pip-* &>/dev/null && cd pip-* && python setup.py install &>/dev/null && cd .. && echo "pip is installed"

cd $INSTALLPATH && tar -zxvf Django-* &>/dev/null && cd Django-* && python setup.py install &>/dev/null &&echo "django is installed"

cd $INSTALLPATH && unzip MySQL-python-* &>/dev/null && cd MySQL-python-* && python setup.py install &>/dev/null &&echo "mysqldb installed"


chkconfig mysqld on

/etc/init.d/mysqld start &>/dev/null

echo "the django version is `python -m django --version`"


    主要目的是为了在新建虚拟机之后,只要上传安装的文件,然后执行脚本即可,提供便利性。

使用shell来升级python安装Django_java