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)
复制代码

 

posted @   reblue520  阅读(380)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2018-07-15 Zabbix3.2监控Windows的内存使用百分比并在内存使用率超过85%的时候触发报警
点击右上角即可分享
微信分享提示