自动化脚本- 安装更换Python3.5

本脚本所有信息:

1:判断是不是root用户,是则继续不是则退出脚本输出信息
2:定义自己的版本
3:根据用户输入的版本号,来下载对应的版本包
4:使用系统命令wget来下载,注意wet后面有一个空格
5:os.system执行系统命令
6:如果无法下载,大部分是因为网络问题,提示用户检查网络
7:判断相应的用户来根据这个版本进行相应的解压
8:如果解压失败的话,提示信息,退出程序
9:如果编译失败退出返回信息
10:移动老的Python版本
11:进行3.5软连接,如果失败则退出返回信息

#coding=utf-8

import os
import sys

if os.getuid() == 0:
    pass
else:
    print("当前用户不是Root用户,请以Root用户执行脚本")
    sys.exit(1)

#version = rat_input('请输入您想安装的Python版本号(2.7/3.5):')
version = '3.5'

if version == '2.7':
    url = 'https://www.python.org/ftp/python/2.7/Python-2.7.tgz'
elif version == '3.5':
    url = 'https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz'
else:
    print("您输入的版本号有误,请输入2.7或者3.5")
    sys.exit(1)

cmd = 'wget '+url
res = os.system(cmd)

if res != 0:
    print('下载源码包失败,请检查当前网络')
    sys.exit(1)

if version == '2.7':
    package_name = 'Python-2.7'
else:
    package_name = 'Python-3.5.0'
    
cmd = 'tar xf '+ package_name+ '.tgz'
res = os.system(cmd)
if res != 0:
    os.system('rm '+package_name+'.tgz')
    print('解压源码包失败,请重新运行这个脚本下载源码包')
    sys.exit(1)

cmd = 'cd ' + package_name+ '&& ./configure --prefix=/usr/local/python && make && make install'
res = os.system(cmd)
if res != 0:
    print '编译Python失败'
    sys.exit(1)

cmd = 'mv /usr/bin/python /usr/bin/python_old'
res = os.system(cmd)
if res !=0:
    print '移动失败,请手动移动(mv /usr/bin/python /usr/bin/python_old)'
    sys.exit(1)

cmd = 'ln -s /usr/local/python/bin/python3.5 /usr/bin/python'
res = os.system(cmd)
if res != 0:
    print '软连接失败,请手动软连(ln -s /usr/local/python/bin/python3.5 /usr/bin/python)'
    sys.exit(1)

完成之后,进行检查是否已经是python3,但是如果要进行yum,还是要修改文件

1:修改yum文件

vim /usr/bin/yum

原:#!/usr/bin/python  改:#!/usr/bin/python_old

2:修改文件

vim /usr/libexec/urlgrabber-ext-down

原:#! /usr/bin/python  改: #! /usr/bin/python_old

本文只是测试,根据要求可进行修改。

猜你喜欢

转载自www.cnblogs.com/willamwang/p/10059925.html