社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

使用shell来升级python安装Django

kefu • 8 年前 • 2175 次点击  

前言:

自己会创建很多的虚拟机来模拟真实情况,从而每次在每个虚拟机会做很多重复的工作,从而使用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执行即可,分别的步骤如下:

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

安装python,这个大约需要六分钟时间
将python进行链接,并且解决yum不能使用的问题
安装setuptools
安装pip
安装Django
安装mysql模块
将mysql设置开机启动并启动
打印Django版本

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/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`"

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1675
 
2175 次点击  
文章 [ 2 ]  |  最新文章 8 年前
大丁
Reply   •   1 楼
大丁    8 年前

不错,加些判断更好~~~赞~~~

Py站长
Reply   •   2 楼
Py站长    8 年前

支持~