O CentOS 7 vem com o Python 2.7.5 pré-instalado, portanto, a instalação do Python 3.x requer procedimentos especiais.
Verificação da Instação Atual
O CentOS 7 por padrão instala o Python 2.7.5, pois vários comandos do sistema, como o yum, dependem dele.
Para verificar se o Python já está instalado, utilize o comando python -V:
python -V
Em seguida, identifique o local dos arquivos executáveis do Python:
which python
Navegue até o diretório bin:
cd /usr/bin
É possível notar que o executável 'python' aponta para 'python2', que por sua vez aponta para 'python2.7'. Isso significa que o comando python utiliza a versão pré-instalada do Python 2.7.
Antes de instalar uma nova versão do Python, é recomendável fazer backup do arquivo python:
mv python python.bak
Download da Nova Versão do Python
Acesse https://www.python.org/downloads/source/ para baixar a versão desejada. Atualmente, a versão mais recente é 3.10.0, lançada em 04/10/2021.
Faça o download do arquivo .tar.xz, que contém o código-fonte do Python:
cd /home
mkdir python_install
cd python_install
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tar.xz
Extraia o arquivo baixado:
tar -xvJf Python-3.10.0.tar.xz
Após a extração, um diretório Python-3.10.0 será criado. Navegue até ele para prosseguir com a compilação e instalação.
Instalação das Ferramentas de Commpilação
Antes de compilar o Python, é necessário instalar as ferramentas e dependências necessárias:
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y
Compilação e Instalação
Crie um diretório para a instalação do Python 3:
mkdir /usr/local/python3
Navegue até o diretório do código-fonte e execute o processo de compilação:
cd Python-3.10.0
./configure --prefix=/usr/local/python3
make
make install
Criação de Links Simbólicos
Para facilitar o acesso aos executáveis do Python 3, crie links simbólicos:
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
Verificação da Instalação
Confirme se a instalação foi bem-sucedida verificando as versões:
python3 -V
pip3 -V
Informações Adicionais sobre o Processo de Compilação
O comando ./configure gera um arquivo Makefile baseado nas opções especificadas. A opção --prefix define o diretório de instalação. Sem essa opção, os arquivos seriam distribuídos por vários diretórios padrão, o que tornaria a desinstalação e a portabilidade mais difíceis.
Ao especificar um prefixo:
./configure --prefix=/usr/local/python3
Todos os arquivos relacionados ao Python serão instalados dentro do diretório /usr/local/python3, facilitando a desinstalação simplesmente excluindo esse diretório.
Após a instalação bem-sucedida, o diretório /usr/local/python3 conterá as subpastas bin, lib e outras estruturas necessárias.
Configuração do Yum
Como o yum depende do Python 2, é necessário modificar seu cabeçalho para continuar funcionando corretamente:
vi /usr/bin/yum
Altere a primeira linha de #!/usr/bin/python para #!/usr/bin/python2.7 e salve o arquivo.