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

 更新时间:2017年09月14日 09:37:56   作者:Lockeyi  
这篇文章主要为大家详细介绍了python自动化脚本安装指定版本python环境的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一般情况下编译安装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. 测试普通用户模式下运行安装脚本:

这里写图片描述

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

这里写图片描述

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

这里写图片描述

4. 脚本编译安装完成:

这里写图片描述

5. 测试安装的python环境:

这里写图片描述

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

相关文章

  • pymssql ntext字段调用问题解决方法

    pymssql ntext字段调用问题解决方法

    pymssql是python用来连接mssql数据库的一个类库。该库遵守Python DB API 2.0 标准,并且还附带了一个原生的低阶数据访问模块。
    2008-12-12
  • python之如何进行去重问题

    python之如何进行去重问题

    这篇文章主要介绍了python之如何进行去重问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 基于Python实现温度转换程序

    基于Python实现温度转换程序

    这篇文章主要为大家详细介绍了如何基于Python实现简单的温度转换程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • 一文带你掌握Python中textwrap库文本包装的艺术

    一文带你掌握Python中textwrap库文本包装的艺术

    在Python编程中,处理文本是一项基础且常见的任务,textwrap模块正是为此而生,它提供了一系列简单而强大的工具,帮助我们优雅地完成文本包装和格式化工作,下面就跟随小编来看看它的具体使用吧
    2024-12-12
  • python用户管理系统

    python用户管理系统

    这篇文章主要为大家详细介绍了Python用户管理系统的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 快速排序的四种python实现(推荐)

    快速排序的四种python实现(推荐)

    这篇文章主要介绍了python实现快速排序算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • PyTorch使用GPU训练的两种方法实例

    PyTorch使用GPU训练的两种方法实例

    pytorch是一个非常优秀的深度学习的框架,具有速度快,代码简洁,可读性强的优点,下面这篇文章主要给大家介绍了关于PyTorch使用GPU训练的两种方法,需要的朋友可以参考下
    2022-05-05
  • Python 如何获取目录下的文件列表,并自然排序

    Python 如何获取目录下的文件列表,并自然排序

    这篇文章主要介绍了Python 如何获取目录下的文件列表,并自然排序的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python Ast抽象语法树的介绍及应用详解

    Python Ast抽象语法树的介绍及应用详解

    这篇文章主要为大家介绍了Python Ast抽象语法树的介绍及应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 详解python中的异常捕获

    详解python中的异常捕获

    这篇文章主要介绍了python中的异常捕获的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12

最新评论