python脚本使用源码安装不同版本的python
# coding=utf-8 import os
import sys # 判断是否是root用户
if os.getuid() == 0:
pass
else:
print('当前用户不是root用户,请以root用户执行脚本')
sys.exit(1) version = raw_input('请输入您想安装的python版本(2.7/3.5)')
if version == '2.7':
url = "https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz"
elif version == '3.5':
url = "https://www.python.org/ftp/python/3.5.7/Python-3.5.7.tar.xz"
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.15'
else:
package_name = 'Python-3.5.7'
cmd = 'tar xf ' + package_name + '.tar.xz' res = os.system(cmd)
if res != 0:
os.system('rm -f ' + package_name + '.tar.xz')
print '解压源码包失败,请重新运行这个脚本下载源码包'
sys.exit(1) cmd = 'cd ' + package_name + '&& ./configure -- prefix=/usr/local/python'+ version + ' && make && make install'
res = os.system(cmd)
if res != 0:
print '编译python源码包失败,请检查是否缺少依赖库'
sys.exit(1)
python脚本使用源码安装不同版本的python的更多相关文章
- centos7 源码安装指定版本的php7
很多时候可能会遇到需要手动源码安装软件的时候,所以自己实践了一把,并且把安装过程中遇到的问题,以及在网上找到的解决办法(实测有效)都记录下来,方便日后学习实践. 1. 系统环境 # cat /etc/ ...
- Ubuntu16.04 / OpenCV / Python 源码安装
为什么需要源码安装? 1. 对 Python 版的 OpenCV,Ubuntu 有两种安装方式: 源码安装:官网(https://opencv.org/releases.html)下载源代码,在机器上 ...
- 部署 LNMP(源码安装版本)shell脚本
#!/bin/bash # 一键部署 LNMP(源码安装版本) menu() { clear echo " ##############‐‐‐‐Menu‐‐‐‐##############& ...
- 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目
一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...
- Centos6.6上源码安装Nodejs V4版本
本来就是想在vps上装一个Ghost博客,这个博客依赖的是Nodejs,然后推荐的是V4版本.然后我就对着官网的步骤安装,发现根本没有Centos6 i386的资源了(64位的还是有的), 我只能在那 ...
- maridb\mysql 源码安装,以10.1.26版本为例
mysql 源码安装(mariadb 10.1.26) 1.环境部署 1 安装cmake 源码安装三部曲或者yum install cmake2安装依赖包yum install -y ncurses- ...
- RHEL6从源码安装python及其他软件包
RHEL6从源码安装python及其他软件包 ## install ssl $ sudo yum install openssl-devel or: $ sudo apt-get install li ...
- CentOS7源码安装qbittorrent最新版本
CentOS的软件 yum 里 yum search qbittorrent yum info qbittorrent 找到的是3.37版本 官网最新的是4.12版本.但需要源码安装: 官网下载最新版 ...
- Python并发编程-redis-3.0.5 源码安装
1.简介 Remote Dictionary Server(Redis)是一个基于 key-value 键值对的持久化数据库存储系统.redis 和 Memcached 缓存服务很像,但它支持存储的 ...
随机推荐
- oracle中日期相关的区间
and czrqb.lsrqb_rh_sj >= to_date('[?query_date_begin|2011-09-01?]A', 'yyyy-mm-dd') and czrqb.lsrq ...
- grep命令的or,and,not操作的例子
在Linux的grep命令中如何使用OR,AND,NOT操作符呢? 其实,在grep命令中,有OR和NOT操作符的等价选项,但是并没有grep AND这种操作符.不过呢,可以使用patterns来模拟 ...
- C#多线程代码示例
using System; using System.Threading; namespace MultiThreadDemo { class Program { public static void ...
- Coins in a Line
Description There are n coins in a line. Two players take turns to take one or two coins from right ...
- Django 第一天 开端
今日内容: 一.HTTP协议 1.HTTP协议简介 参考博客:https://www.cnblogs.com/clschao/articles/9230431.html 是超文本传输协议 现在使用最广 ...
- 2019.11.15 JQ图片轮播
<div class="three"> <div class="bjtp"> <img class="bjpic b1& ...
- RookeyFrame 自定义数据源 返回统计查询后的视图
核心:对返回的数据进行重写 功能是这样的:上传淘宝后台的订单文件,将订单文件里面的数据导入到系统,对导入后的订单数据进行统计后再显示. Order_File:用来存上传的订单文件,格式是****.cs ...
- 13、SparkContext详解
一.SparkContext原理 1.图解 二.SparkContext源码 1.TaskScheduler创建 ###SparkContext.scala // Create and start t ...
- UOJ449. 【集训队作业2018】喂鸽子 [概率期望,min-max容斥,生成函数]
UOJ 思路 由于最近养成的不写代码的习惯(其实就是懒),以下式子不保证正确性. 上来我们先甩一个min-max容斥.由于每只鸽子是一样的,这只贡献了\(O(n)\)的复杂度. 现在的问题转化为对于\ ...
- 【MySQL 读书笔记】“order by”是怎么工作的?
针对排序来说,order by 是我们使用非常频繁的关键字.结合之前我们对索引的了解再来看这篇文章会让我们深刻理解在排序的时候,是如何利用索引来达到少扫描表或者使用外部排序的. 先定义一个表辅助我们后 ...