Ambiente: CentOS 7.9.2009 (Core) com GCC 4.8.5.
Para atender a requisitos de software moderno, é necessário configurar uma versão atualizada do Python no servidor. A versão Python 3.10 exige o OpenSSL 1.1.1 ou superoir, mas o CentOS 7 fornece uma versão antiga por padrão. A atualização manual do OpenSSL pode gerar erros relacionados a repositórios, como falhas na resolução de host.
Para resolver problemas de repositórios, acesse o diretório /etc/yum.repos.d/ e ajuste os arquivos de configuração, substituindo URLs problemáticas por fontes espelho nacionais. Exemplo de modificação:
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
Fontes espelho recomendadas incluem Aliyun, Tsinghua, USTC, SJTU e Huawei Cloud. Após alterar, execute yum clean all para limpar o cache e teste com yum update.
Passo 1: Instalar dependências
Instale biblioetcas de desenvolvimento necessárias para compilar o Python e o OpenSSL:
sudo yum update -y
sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel wget
Passo 2: Compilar e instalar o OpenSSL 3.x
Instale ferramentas de compilação e baixe a fonte do OpenSSL:
sudo yum install -y perl perl-CPAN
cpan IPC::Cmd
wget https://www.openssl.org/source/openssl-3.0.16.tar.gz
tar -zxvf openssl-3.0.16.tar.gz
cd openssl-3.0.16
./config --prefix=/usr/local/ssl3 --openssldir=/usr/local/ssl3 shared zlib
make -j $(nproc)
sudo make install
Configure o PATH e crie links simbólicos se necessário:
echo "export PATH=/usr/local/ssl3/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
sudo ln -s /usr/local/ssl3/lib64/libssl.so.3 /usr/lib64/libssl.so.3
sudo ln -s /usr/local/ssl3/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
Verifique a instalação com openssl version.
Passo 3: Compilar e instalar o Python 3.10
Baixe e extraia a fonte do Python:
wget https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tgz
tar -zxvf Python-3.10.10.tgz
cd Python-3.10.10
Configure o build para usar o OpenSSL recém-instalado:
./configure --enable-optimizations --with-openssl=/usr/local/ssl3
Compile e instale em modo alternativo para evitar conflitos:
make -j $(nproc)
sudo make altinstall
Passo 4: Validar a instalação
Verifique as versões instaladas:
python3.10 --version
pip3.10 --version
Opcionalmente, crie links simbólicos para uso padrão:
sudo ln -s /usr/local/bin/python3.10 /usr/bin/python3
sudo ln -s /usr/local/bin/pip3.10 /usr/bin/pip3