自动化脚本- 脚本一键安装更换Python3.10
本脚本所有信息:
国内python安装包下载:https://mirrors.huaweicloud.com/python
1:判断是不是root用户,是则继续不是则退出脚本输出信息
2:定义自己的版本
3:根据用户输入的版本号,来下载对应的版本包
4:使用系统命令wget来下载,注意wet后面有一个空格
5:os.system执行系统命令
6:如果无法下载,大部分是因为网络问题,提示用户检查网络
7:判断相应的用户来根据这个版本进行相应的解压
8:如果解压失败的话,提示信息,退出程序
9:如果编译失败退出返回信息
10:移动老的Python版本
11:进行3.10软连接,如果失败则退出返回信息
#coding=utf-8 import os import sys if os.getuid() == 0: pass else: print("当前用户不是Root用户,请以Root用户执行脚本") sys.exit(1) #version = rat_input('请输入您想安装的Python版本号(2.7/3.10):') version = '3.10' if version == '2.7': url = 'https://www.python.org/ftp/python/2.7/Python-2.7.tgz' elif version == '3.10': url = 'https://mirrors.huaweicloud.com/python/3.10.0/Python-3.10.0.tgz' else: print("您输入的版本号有误,请输入2.7或者3.10") 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' else: package_name = 'Python-3.10.0' cmd = 'tar xf '+ package_name+ '.tgz' res = os.system(cmd) if res != 0: os.system('rm '+package_name+'.tgz') print('解压源码包失败,请重新运行这个脚本下载源码包') sys.exit(1) cmd = 'yum -y install gcc' res = os.system(cmd) cmd = 'cd ' + package_name+ '&& ./configure --prefix=/usr/local/python && make && make install' res = os.system(cmd) if res != 0: print '编译Python失败' sys.exit(1) cmd = 'mv /usr/bin/python /usr/bin/python_old' res = os.system(cmd) if res !=0: print '移动失败,请手动移动(mv /usr/bin/python /usr/bin/python_old)' sys.exit(1) cmd = 'ln -s /usr/local/python/bin/python3.10 /usr/bin/python' res = os.system(cmd) if res != 0: print '软连接失败,请手动软连(ln -s /usr/local/python/bin/python3.10 /usr/bin/python)' sys.exit(1) cmd = "sed -i 's/python/python_old/g' /usr/bin/yum" res = os.system(cmd) if res != 0: print '修改失败,请手动修改文件内容:/usr/bin/yum - > #!/usr/bin/python 替换成 #!/usr/bin/python_old' sys.exit(1) cmd = "sed -i 's/python/python_old/g' /usr/libexec/urlgrabber-ext-down" res = os.system(cmd) if res != 0: print '修改失败,请手动修改文件内容:/usr/libexec/urlgrabber-ext-down - > #!/usr/bin/python 替换成 #!/usr/bin/python_old' sys.exit(1)
执行完成之后,查看版本是否是Python3.10. 如果是则安装成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构