一、安装必需的模块
yum -y install bzip2-devel ncurses-devel readline-devel tk-devel libffi-devel expat-devel
二、官网下载源代码
wget https://www.python.org/ftp/python/3.9.14/Python-3.9.14.tar.xz
tar -xvJf Python-3.9.14.tar.xz # J 一定要大写
三、编译代码
# 建立编译目录
mkdir Python-3.9.14-build
cd Python-3.9.14-build
# 在编译目录里运行configure命令,成功后安装到/usr/local/python39目录
../Python-3.9.14/configure --prefix=/usr/local/python39 --enable-optimizations LDFLAGS="-L/usr/local/sqlite-3.38.2/lib -L/usr/local/openssl-3.0.5/lib64" CPPFLAGS="-I /usr/local/sqlite-3.38.2/include -I /usr/local/openssl-3.0.5/include"
make -j2
make install
cd ..
# LDFLAGS参数设置sqlite、openssl的库位置,CPPFLAGS参数设置sqlite、openssl的头文件位置
#../Python-3.9.14/configure --prefix=/usr/local/python39 --enable-optimizations LDFLAGS="-L/usr/local/sqlite-3.38.2/lib -L/usr/local/openssl-3.0.5/lib64" CPPFLAGS="-I /usr/local/sqlite-3.38.2/include -I /usr/local/openssl-3.0.5/include"
四、设置虚拟环境
1.使用当前python文件建立目标虚拟环境
/usr/local/python39/bin/python3 -m venv /mypy/python39
2.激活目标虚拟环境
source /mypy/python39/bin/activate
3.查看python版本
python3 -V
pip -V
4.查看sqlite3、openssl的版本
# 查看openssl版本
>>> import ssl
>>> print(ssl.OPENSSL_VERSION)
OpenSSL 1.1.1q 5 Jul 2022
# 查看sqlite版本
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.38.2'
5.退出虚拟环境
deactivate
系统提示符将恢复到之前状态,再次运行python3或pip3程序,将是系统默认程序。
五、安装Python其他版本
1.安装python3.10版本
wget https://www.python.org/ftp/python/3.10.4/Python-3.10.7.tar.xz
tar -xvJf Python-3.10.7.tar.xz # J 一定要大写
# 建立编译目录
mkdir Python-3.10.7-build
cd Python-3.10.7-build
# 在编译目录里运行configure命令,成功后安装到/usr/local/python310目录
# LDFLAGS参数设置sqlite、openssl的库位置,CPPFLAGS参数设置sqlite、openssl的头文件位置
../Python-3.10.7/configure --prefix=/usr/local/python310 --enable-optimizations LDFLAGS="-L/usr/local/sqlite-3.38.2/lib -L/usr/local/openssl-3.0.5/lib64" CPPFLAGS="-I /usr/local/sqlite-3.38.2/include -I /usr/local/openssl-3.0.5/include"
make -j2
make install
cd ..
/usr/local/python310/bin/python3 -m venv /mypy/python310
source /mypy/python310/bin/activate
python3 -V
pip -V
deactivate
2.安装python3.8版本
wget https://www.python.org/ftp/python/3.8.13/Python-3.8.14.tar.xz
tar -xvJf Python-3.8.14.tar.xz # J 一定要大写
# 建立编译目录
mkdir Python3.8.14-build
cd Python3.8.14-build
# 在编译目录里运行configure命令,成功后安装到/usr/local/python38目录
# LDFLAGS参数设置sqlite、openssl的库位置,CPPFLAGS参数设置sqlite、openssl的头文件位置
../Python-3.8.14/configure --prefix=/usr/local/python38 --enable-optimizations LDFLAGS="-L/usr/local/sqlite-3.38.2/lib -L/usr/local/openssl/lib" CPPFLAGS="-I /usr/local/sqlite-3.38.2/include -I /usr/local/openssl/include"
make -j2
make install
cd ..
/usr/local/python38/bin/python3 -m venv /mypy/python38
source /mypy/python38/bin/activate
python3 -V
pip -V
deactivate