python自动化脚本安装指定版本python环境详解


Posted in Python onSeptember 14, 2017

一般情况下编译安装python环境需要执行以下步骤:

  • 下载源码包
  • 解压源码包
  • 安装配置
  • 编译以及编译安装

TALK IS CHEAP, SHOW YOU MY CODE.

#!/usr/bin/python
#coding:utf-8
'''
date:9/2/17 18:03 PM
author:lockey
email:lockey@123.com
desc:python自动化安装用户指定版本的python环境
'''
#导入Python的系统编程操作模块
import os

#导入用来处理Python运行时配置以及资源,与前当程序之外的系统环境交互的模块
import sys

#判断当前用户是否是root用户
if os.getuid() == 0:
  pass
else:
  print 'Not under root mode, please switch user!'
  sys.exit(1)

#获取用户输入的python安装版本
version = raw_input('Please input wanted python version(2.7/3.6)')

#如果嫌官网下载速度太慢可以指定python3.6.2的链接地址为本人上传资源地址
#根据用户输入的python版本选择源码包下载地址
if version == '2.7':
  url = 'https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz'
elif version == '3.6':
  url = 'https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz'
else:
  print 'Please input given version number(2.7/3.5)'
  sys.exit(1)

#拼接源码包下载地址并执行下载命令
cmd = 'wget ' + url
res = os.system(cmd)
if res != 0 :
  print 'Failed to download python source package, please inspect your network!'
  sys.exit(1)

if version == '2.7':
  package_version = 'Python-2.7.13'
else:
  package_version = 'Python-3.6.2'

#解压下载的源码包
cmd = 'tar xf ' + package_version + '.tgz'
res = os.system(cmd)

#如果解压失败则删除下载的源码包并且提示用户重新执行脚本
if res != 0:
  os.system('rm ' + package_version + '.tgz')
  print 'Please reexcute the script to install python'
  sys.exit(1)

#解压成功则进入解压后的源码目录中依次执行配置、编译、安装过程
cmd = 'cd ' + package_version + ' && ./configure --prefix=/usr/local/python && make && make install'

res = os.system(cmd)

#安装失败则提示用户安装失败了,让用户检查环境依赖
if res != 0:
  print 'Failed to install python, please inspect dependencies for python install!'
  sys.exit(1)

程序运行测试截图:

1. 测试普通用户模式下运行安装脚本:

python自动化脚本安装指定版本python环境详解

2. 切换到root用户然后运行自动安装脚本:

python自动化脚本安装指定版本python环境详解

3. 脚本自动配置(./configure)完成,进入编译(make)阶段

python自动化脚本安装指定版本python环境详解

4. 脚本编译安装完成:

python自动化脚本安装指定版本python环境详解

5. 测试安装的python环境:

python自动化脚本安装指定版本python环境详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python对html代码进行escape编码的方法
May 04 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
用Python逐行分析文件方法
Jan 28 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 Python
简单了解python 邮件模块的使用方法
Jul 24 Python
python Pandas如何对数据集随机抽样
Jul 29 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
Python爬虫代理池搭建的方法步骤
Sep 28 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 Python
python中 Flask Web 表单的使用方法
May 20 Python
python实现八大排序算法(2)
Sep 14 #Python
Python3.4编程实现简单抓取爬虫功能示例
Sep 14 #Python
python实现八大排序算法(1)
Sep 14 #Python
python实现简单聊天应用 python群聊和点对点均实现
Sep 14 #Python
Python实现购物系统(示例讲解)
Sep 13 #Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 #Python
python模块之time模块(实例讲解)
Sep 13 #Python
You might like
第一个无线电台是由谁发明的
2021/03/01 无线电
PHP利用str_replace防注入的方法
2013/11/10 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
PHP7内核之Reference详解
2019/03/14 PHP
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
浅析JS运动
2015/12/28 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
详解webpack介绍&安装&常用命令
2017/06/29 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
安装vue-cli的简易过程
2018/05/22 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
python设置环境变量的原因和方法
2019/06/24 Python
Python for循环及基础用法详解
2019/11/08 Python
Python使用xpath实现图片爬取
2020/09/16 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
仓库管理专业个人自我评价范文
2013/11/11 职场文书
座谈会主持词
2014/03/20 职场文书
图书馆标语
2014/06/19 职场文书
领导干部贪图享乐整改措施
2014/09/21 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python