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

发布时间 - 2026-01-11 03:15:10    点击率:

一般情况下编译安装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环境:

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


# python环境自动化安装指定版本  # python环境脚本安装  # python环境安装  # python实现自动化上线脚本的示例  # 实用自动化运维Python脚本分享  # python实现自动化脚本编写  # 4个的Python自动化脚本分享  # 分享4个方便且好用的Python自动化脚本  # 下载地址  # 普通用户  # 官网  # 大家多多  # 切换到  # 安装过程  # 速度太慢  # 上传  # 模式下  # 失败了  # 目录中  # os  # sys  # root  # getuid  # email  # lockey  # import  # Python  # desc 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  什么是javascript作用域_全局和局部作用域有什么区别?  zabbix利用python脚本发送报警邮件的方法  制作公司内部网站有哪些,内网如何建网站?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  如何彻底删除建站之星生成的Banner?  无锡营销型网站制作公司,无锡网选车牌流程?  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  javascript中闭包概念与用法深入理解  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  装修招标网站设计制作流程,装修招标流程?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  如何在IIS服务器上快速部署高效网站?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  昵图网官方站入口 昵图网素材图库官网入口  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  潮流网站制作头像软件下载,适合母子的网名有哪些?  北京网站制作公司哪家好一点,北京租房网站有哪些?  Laravel中的Facade(门面)到底是什么原理  javascript读取文本节点方法小结  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  ,南京靠谱的征婚网站?  如何快速生成高效建站系统源代码?  Laravel如何使用模型观察者?(Observer代码示例)  用yum安装MySQLdb模块的步骤方法  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  如何在搬瓦工VPS快速搭建网站?  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何挑选最适合建站的高性能VPS主机?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  开心动漫网站制作软件下载,十分开心动画为何停播?  MySQL查询结果复制到新表的方法(更新、插入)  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Python图片处理进阶教程_Pillow滤镜与图像增强  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  香港服务器租用费用高吗?如何避免常见误区?  b2c电商网站制作流程,b2c水平综合的电商平台?