在CentOS7.x环境上安装Python3.11
当前的自动化测试项目使用的Python版本需要大于等于3.10,而公司的服务器操作系统为CentOS 7.9,默认的Python版本还是经典的2.7.5,源里最新的版本为3.6,因此需要手动安装新版本的Python。
这里没有采用从源码编译安装的方式,因为最近在看Flask作者的rye项目时,他提到了rye的Python二进制文件来自于Github上,indygreg的python-build-standalone项目的预编译版本:
Note that does mean, that Rye will automatically download and install an appropriate Python binary for you. These Python binaries are currently pulled from the indygreg python-build-standalone releases.
看了一下这个项目,对于Python版本、环境版本的分类还是非常完备的,于是选择了当前最新的3.11.3版本。
文件名为cpython-3.11.3+20230507-x86_64-unknown-linux-gnu-pgo+lto-full.tar.zst
。
安装环境准备
此文件采用了zstandard方式压缩,对于旧版本的CentOS,它的tar并不支持该压缩算法,需要安装zstd。
1 | sudo yum install zstd |
查阅此项目文档,发现它还需要一些运行时依赖,主要是glibc的库,一并安装了:
1 | sudo yum install openssl-devel bzip2-devel libffi-devel |
卸载掉旧的Python3和pip:
1 | sudo yum -y remove python3* python2-pip |
解压出二进制,配置环境变量
1 | zstd -d cpython-3.11.3+20230507-x86_64-unknown-linux-gnu-pgo+lto-full.tar.zst |
解压出的Python二进制目录位于./python/install/bin/
下,将这个目录添加到Path里即可。
编辑~/.bashrc
,加入下面一行:
1 | export PATH="$PATH:/home/yvqa/software/python/install/bin/" |
确认Python版本
1 | source ~/.bashrc |
刷新环境变量,确认版本正确即可。