OpenSSL

    CentOS 中自带的 OpenSSL 版本是 1.0.2,但 Python 3.10 需要 OpenSSL 1.1.1 以上的版本,自己编译一个吧。

    相关版本号可以参阅:https://www.openssl.org/source/

    mkdir /home/TigerBeanst/OpenSSL
    wget -P /home/TigerBeanst/OpenSSL https://www.openssl.org/source/openssl-1.1.1o.tar.gz
    
    cd /home/TigerBeanst/OpenSSL/
    tar xf openssl-1.1.1o.tar.gz
    cd /home/TigerBeanst/OpenSSL/openssl-1.1.1o
    
    
    mkdir /usr/local/OpenSSL1.1.1o
    ./config --prefix=/usr/local/OpenSSL1.1.1o
    ./config -t
    make && make install

    耐心等待编译完成。

    设置软连接:

    ln -s /usr/local/OpenSSL1.1.1o/bin/openssl /usr/bin/openssl
    ln -s /usr/local/OpenSSL1.1.1o/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
    ln -s /usr/local/OpenSSL1.1.1o/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

    如果询问覆盖,可以覆盖(毕竟是为了升级)

    [root@vps ~]# openssl version
    OpenSSL 1.1.1o  3 May 2022

    Python

    如果你的机器上的 Python 版本不够高,可能需要手动编译一个版本。

    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel  gcc  libffi-devel -y

    相关版本号可以参阅:https://www.python.org/downloads/source/

    mkdir /home/TigerBeanst/Python
    wget -P /home/TigerBeanst/Python https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tgz
    
    cd /home/TigerBeanst/Python/
    tar xf Python-3.10.5.tgz
    cd /home/TigerBeanst/Python/Python-3.10.5
    
    
    mkdir /usr/local/Python3.10.5
    ./configure --prefix=/usr/local/Python3.10.5 --with-openssl=/usr/local/OpenSSL1.1.1o && make && make install

    耐心等待编译完成。

    设置软连接:

    ln -s /usr/local/Python3.10.5/bin/python3 /usr/bin/python3
    ln -s /usr/local/Python3.10.5/bin/pip3 /usr/bin/pip3

    如果询问覆盖,可以覆盖(毕竟是为了升级)

    [root@vps ~]# python3
    Python 3.10.5 (main, Jun 15 2022, 13:55:45) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 

    后面可以把 cd /home/TigerBeanst/Python/ 目录删掉,反正没用了