本脚本所有信息:

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) cmd = "sed -i 's/python/python_old/g' /usr/bin/yum"
res = os.system(cmd)
if res != 0:
print '修改失败,请手动修改文件内容:/usr/bin/yum - > #!/usr/bin/python 替换成 #!/usr/bin/python_old'
sys.exit(1) cmd = "sed -i 's/python/python_old/g' /usr/libexec/urlgrabber-ext-down"
res = os.system(cmd)
if res != 0:
print '修改失败,请手动修改文件内容:/usr/libexec/urlgrabber-ext-down - > #!/usr/bin/python 替换成 #!/usr/bin/python_old'
sys.exit(1)

执行完成之后,查看版本是否是Python3.5. 如果是则安装成功。

自动化脚本- 安装更换Python3.5的更多相关文章

  1. PHP学习日记 Windows配置PHP+Nginx+自动化脚本

    Windows配置PHP+Nginx+自动化脚本 安装与配置 PHP 下载PHP:传送门 选择合适的版本下载 尽量选Thread Safe 配置PHP: 解压后在文件夹中找到php.ini-devel ...

  2. Hadoop实战4:MapR分布式集群的安装配置及shell自动化脚本

    MapR的分布式集群安装过程还是很艰难的,远远没有计划中的简单.本人总结安装配置,由于集群有很多机器,手动每台配置是很累的,编写了一个自动化配置脚本,下面以脚本为主线叙述(脚本并不完善,后续继续完善中 ...

  3. Hadoop(MapR)分布式安装及自动化脚本配置

    MapR的分布式集群安装过程还是很艰难的,远远没有计划中的简单.本人总结安装配置,由于集群有很多机器,手动每台配置是很累的,编写了一个自动化配置脚本,下面以脚本为主线叙述(脚本并不完善,后续继续完善中 ...

  4. appium1.4+华为8.0执行自动化脚本,报启动session失败,原因是unicode_ime_apk\Uni codeIME-debug.apk在手机上已存在,再次安装失败,导致启动session失败,解决办法:换高版本的appium

    最开始做Android自动化测试时,通过执行脚本发现报,已安装UnicodeIME-debug.apk,再次安装失败,当时觉得这个apk对我来说没用,就把D:\Program Files (x86)\ ...

  5. 安卓8.0真机运行appium1.4遇到的问题:运行自动化脚本,手机自动安装 settings.apk和unclock.apk,执行脚本时提示安装UnicodeIME-debug.apk失败,怎么关掉自动安装?

    运行自动化脚本,手机自动安装 settings.apk和unclock.apk,执行脚本时提示安装UnicodeIME-debug.apk失败,怎么关掉自动安装? 这3个apk的目录分别是: D:\P ...

  6. 多测试讲解_009肖sirRF自动化框架安装教程

    robot framework:自动化测试框架 Python3.7 RIDE(可视化界面).  Wxpython  pip(在线下载) . setuptools(在线安装) . 第三方库 第三方库:s ...

  7. jws.mono脚本安装详解

    就在最近两天,最新版本的jws.mono上线了,这个版本除了提供与之前版本拥有的功能外,还额外提供了一个“自动化”的安装脚本,通过执行该脚本,jws.mono将自动快速的安装到指定的目录,同时,通过改 ...

  8. 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0

    新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...

  9. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

随机推荐

  1. JVM无法启动,jps无法运行,提示内存不足

    原因:系统设置中有设置了不允许over commit so,无法分配足够内存 /etc/sysctl.conf vm.overcommit_memory=1    或者sysctl vm.overco ...

  2. ffplay 一些好玩的filter

    添加字幕:ffplay -vf drawtext="fontfile=arial.ttf: text='Test Text': x=100: y=300: \ fontsize=48: fo ...

  3. 对xml文件的sax解析(增删改查)之一

    crud(增删改查): c:creat r:retrieve u:update d:delete 以下笔记来自于韩顺平老师的讲解. 现在是用java来操作. 第一步:新建java工程.file-new ...

  4. 极光API推送 (v3 版本)

    Push API v3 这是 Push API 最近的版本. 相比于 API v2 版本,v3 版本的改进为: 完全基于 https,不再提供 http 访问: 使用 HTTP Basic Authe ...

  5. 小trick之mklink

    因为要看很多论文就下载安装了zotero,又因为文献库的文件夹在安装目录太深,找起来太麻烦,再加上是软件本身的安装目录,因此把论文都下载在默认文件中总会天然地产生不安全感,万一误删软件怎么办.所以在文 ...

  6. 深度学习之卷积神经网络(CNN)学习

    1.卷积神经网络中卷积的核心意义是什么?每一组卷集核 权重是一个抽特征的滤波器, 从卷集核的角度抽取特征 2.卷积神经网络很好的特性参数共享机制每一个神经元固定一组a x b x c(图像的通道数) ...

  7. 最短路——Dijkstra和Floyd

    Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要 ...

  8. Ubuntu12.04下安装、使用、卸载MySQL

    转自:http://blog.csdn.net/yimi0903/article/details/11800713 一.安装 Step1:安装MySQL-server,mysql-client 执行以 ...

  9. 4.js屏蔽浏览器鼠标右键菜单

    document.oncontextmenu = function(){return false;} 参考链接:js 屏蔽浏览器事件汇总

  10. ubuntu12.04下安装搜狗拼音

    Ubuntu 12.04 LTS 版本   由于 Ubuntu 12.04 LTS 自带的 Fcitx 版本较旧,需要先通过 PPA 升级,才能安装下载的 deb 软件包.   1. 点击左上角的图标 ...