升级 CentOS 上的 Python 版本需要一些步骤,因为 CentOS 默认使用 Python 2.x,并且许多系统工具都依赖于特定版本的 Python。以下是在 CentOS 上将 Python 升级到 3.9.1 的步骤:
1.先安装openssl
# 1.安装OpenSSL
yum install bzip2-devel
yum install libffi-devel -y
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
# cd到一个下载目录,这里为/opt,openssl压缩包会被下载到/opt目录下,可任意设置已存在的文件夹
cd /opt
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz --no-check-certificate
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
# 编译安装,安装路径为/usr/local/openssl
./config --prefix=/usr/local/openssl shared zlib
make && make install
# 添加环境变量
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib" >> /etc/profile
# 刷新环境变量
source /etc/profile
# 增加软连接
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
cd /usr/bin
rm -f openssl
ln -s /usr/local/openssl/bin/openssl openssl
# 检查openaissl安装情况
openssl version
步骤 2:下载 Python 3.9.1 源代码
从 Python 官方网站下载 Python 3.9.1 的源代码包。您可以使用 wget
命令进行下载,如下所示:
wget https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tar.xz |
步骤 3:解压源代码包
使用以下命令解压下载的源代码包:
tar xf Python-3.11.2.tar.xz |
步骤 4:编译和安装 Python 3.9.1
进入解压后的目录,并执行以下命令进行编译和安装:
cd Python-3.11.2 | |
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --enable-shared | |
[global] timeout = 6000 index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host = pypi.tuna.tsinghua.edu.cn |
步骤 5:验证安装
安装完成后,您可以使用以下命令验证 Python 3.11.2 是否成功安装:
python3.11 --version |
如果输出显示 Python 3.11.2
,则表示已成功升级到 Python 3.11.2。
如果使用 python3发现找不到python3命令时,执行以下语句创建软连接:
cd /usr/bin
rm -f python3
rm -f pip3
ln -s /usr/local/python3/bin/python3 python3
ln -s /usr/local/python3/bin/pip3 pip3
pip3 install --upgrade pip
如果报错缺少.so.1.0文件,那么把python的该文件软连接到 /usr/lib 和 /usr/lib64文件夹下即可。报错示例:
/usr/local/python3/bin/python3.11: error while loading shared libraries: libpython3.11.so.1.0: cannot open shared object file: No such file or directory
解决:
cd /usr/lib
ln -s /usr/local/python3/lib/libpython3.11.so.1.0 libpython3.11.so.1.0
cd /usr/lib64/
ln -s /usr/local/python3/lib/libpython3.11.so.1.0 libpython3.11.so.1.0
卸载 Python 3.6.8:运行以下命令以卸载 Python 3.6.8:
sudo yum remove python36