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代码解决RenderView窗口not found问题
Aug 28 Python
详解使用python crontab设置linux定时任务
Dec 08 Python
Python实现网站注册验证码生成类
Jun 08 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
Aug 02 Python
Python 堆叠柱状图绘制方法
Jul 29 Python
在Python中利用pickle保存变量的实例
Dec 30 Python
Python爬虫工具requests-html使用解析
Apr 29 Python
Python urllib.request对象案例解析
May 11 Python
python 实现两个npy档案合并
Jul 01 Python
使用python将微信image下.dat文件解密为.png的方法
Nov 30 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
jquery.tableSort.js表格排序插件使用方法详解
2020/08/12 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
2018/03/22 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
Python双向循环链表实现方法分析
2018/07/30 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
pip安装python库的方法总结
2019/08/02 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
凯伦·米莲女装网上商店:Karen Millen
2017/11/07 全球购物
法律专业学生的自我评价
2014/02/07 职场文书
2014全国两会大学生学习心得体会
2014/03/10 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
协议书范本
2014/04/23 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
校园文明倡议书
2014/05/16 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年城市管理工作总结
2014/12/02 职场文书