Python 3.X脚本——自动安装Python版本并自动配置python环境变量

python 3.x 脚本——一键自动安装python版本并自动配置python环境变量
使用python 3.x 语言实现一个选择python版本后,自动化在linux centos系统上安装python并配置python环境变量的脚本。
在该脚本中需要用到python的两个模块:os、sys。
其中os模块简单的来说它是一个python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作。
os模块重要函数和变量:
1 )、os.sep 更改操作系统中的路径分隔符。
2 )、os.getcwd()获取当前路径,这个在python代码中比较常用。
3 )、os.listdir() 列出当前目录下的所有文件和文件夹。
4 )、os.remove() 方法可以删除指定的文件。
5 )、os.system() 方法用来运行shell命令。
6 )、os.chdir() 改变当前目录,到指定目录中。
sys模块提供了一种方便的使用操作系统函数的方法。
1 )、sys.argv: 实现从程序外部向程序传递参数。
2 )、sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
3 )、sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
4 )、sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。
5 )、sys.getfilesystemencoding(): 获取文件系统使用编码方式
6 )、sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
7 )、sys.platform: 获取当前系统平台。
8 )、sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准i/o 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
sys模块与os模块的区别在于:os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。
在本脚本中,实现思路为:判断当前用户是否为root用户 ---> 选择安装的软件版本 ---> 下载软件安装包 ---> 解压、配置、编译、安装 --->配置python环境变量。
其在在编写时需要注意的点有:linux 中安装时,要注意安装python相关依赖。比如gcc,zlib-devel等;根据选择安装的python版本号进行校验判断重而走不同的逻辑实现。进行判断校验时需要留住异常情况,当出现异常错误时,使用sys模块进行退出,并在退出时返回不同的状态码。
脚本源码: