Instalando Python automaticamente em qualquer sistema Linux.
Olá , essa é uma dica rápida para você que deseja instalar o Python
compilado através do código fonte (tarball). Boa leitura.
Introdução
Muitas vezes precisamos instalar um determinado programa para sistemas Linux e não temos o pacote de acordo com nossa distribuição. Como isso, várias empresas de determinados softwares nos disponibiliza os pacotes tarball
, onde podemos compilar o programa e assim instala-lo, ou seja, esses pacotes é o source code
(código fonte) do software genérico que ser a qualquer distribuição Linux.
Existe dois tipos de instalação genérica para Linux, programas com com a extensão .run, onde apenas executamos o mesmo para que a instalação comece e programas de código fonte para compilarmos e instalarmos. A última opção é a que vamos trabalhar nesse post.
Geralmente, o padrão para a instalação de pacotes genéricos (tarball), são apenas 3 comandos:
- O de configurar;
- O de compilar;
- O de instalar;
Veremos abaixo, como instalar a ultima versão estável do Python automaticamente com um script shell, usando pacote tarball.
Instalação
Criando script de instalação automática
A - Abra seu editor de texto preferido e acrescente esses comando abaixo:
#!/usr/bin/env bash
# Description: Install latest version Python (auto)
# Author: William Canin
# License: MIT
latest_version="$(curl -sL https://www.python.org | sed -nr 's/^<p>Latest:[^>]+>Python\s+([0-9]+(.[0-9]+)+).+/\1/p')"
url_download="https://www.python.org/ftp/python/${latest_version}/Python-${latest_version}.tar.xz"
cd $HOME && wget ${url_download}
sudo rm -rf /opt/Python-${latest_version}
sudo tar -xvf Python-${latest_version}.tar.xz -C /opt
sudo chmod 775 -R /opt/Python-${latest_version}
cd /opt/Python-${latest_version}
sudo ./configure
sudo make
sudo make install
# sudo make -n install # Opcional
printf "\nInstallation complete!\n"
Entendendo o que cada comando do script faz
Linha 3: Responsável por capturar a ultima versão estável do Python no site oficial através de expressões regulares e armazenar em uma variável.
Linha 5: Uma variável que armazena a url completa do download do pacote tarball.
Linha 7: Entra no diretório HOME do usuário atual do terminal e realizar o download do pacote tarball no mesmo diretório.
Linha 9: Remove qualquer pasta que foi utilizada para instalação o Python da mesma versão atual do download.
Linha 11: Descompacta o pacote tar.xz para o diretório /opt.
Linha 13: Dá permissão 775 para pasta Python-[VERSION] e suas subpastas e arquivos.
Linha 15: Entrando no diretório /opt/Python-[VERSION] para realizar a configuração, compilação e instalação do Python.
Linha 17: Configurando o Python para compilação.
Linha 19: Compilando o Python
Linha 21: Instalando o Python em si.
Linha 23: Essa linha é opcional, por padrão está comentada, porém, esse comando serve para mostrar quais passos foram feitos e onde foi colocado cada arquivo/pasta da instalação.
Linha 25: Essa linha é um mistério, dou um pirulito a quem descobrir para que serve. :D”
Salvando o script, e executando-o para a instalação do Python
B - Salve o arquivo com o nome de “pyinstaller.sh”.
C - Dê permissão de execução para o script com o comando abaixo:
chmod +x pyinstaller.sh
D - Execute o script com o comando abaixo e aguarde a instalação da última versão estável do Python:
Nota 1: Você precisa ter privilégio de superusuário (root) ou sudo.
Nota 2: Por padrão, a instalação do executável do Python é no diretório /usr/local/bin/python[version], a não ser que seja mudado o PATH na configuração (sudo ./configure).
bash pyinstaller.sh
Pronto! Se tudo deu certo, a instalação foi concluída. Você pode verificar o executável no diretório /usr/local/bin.
Desinstalação
Infelizmente, até o momento o pacote de source code do Python (tarball), não tem uma opção de comando para desinstalar, como por exemplo o comando make uninstall, isso porque, você pode ter várias versões do Python instalada através da compilação, e então não tem como um desinstalador saber qual é que você queira remover.
Para resolver isso, o comando make -n install que está comentado no script que criamos, é justamente para lhe mostrar onde foi instalado os arquivos e pastas. Com base nessas informações, você deve remover a instalação manualmente apenas excluindo esses arquivos e pastas.
Para facilitar, criei um script que pode lhe poupar tempo de achar esses arquivos e pastas.
Criando script de remoção automática.
A - Abra um editor de sua preferência e coloque as linhas seguintes:
#!/usr/bin/env bash
# Description: Uninstall determined version Python (auto)
# Author: William Canin
# License: MIT
prefix='/usr/local/'
ls ${prefix}/bin
printf "[ Based on the list above, please tell us which version you wish to uninstall ]\n"
printf "> Type the version (E.g: 3.5): "
read -p pyver
sudo rm -rfv \
${prefix}bin/python${pyver} \
${prefix}bin/pip${pyver} \
${prefix}bin/pydoc \
${prefix}bin/include/python${pyver} \
${prefix}lib/libpython${pyver}.a \
${prefix}lib/python${pyver} \
${prefix}bin/python${pyver} \
${prefix}bin/pip${pyver} \
${prefix}bin/include/python${pyver} \
${prefix}lib/libpython${pyver}.a \
${prefix}lib/python${pyver} \
${prefix}lib/pkgconfig/python-${pyver}.pc \
${prefix}lib/libpython${pyver}m.a \
${prefix}bin/python${pyver}m \
${prefix}bin/2to3-${pyver} \
${prefix}bin/python${pyver}m-config \
${prefix}bin/idle${pyver} \
${prefix}bin/pydoc${pyver} \
${prefix}bin/pyvenv-${pyver} \
${prefix}share/man/man1/python${pyver}.1 \
${prefix}include/python${pyver}m
# ${prefix}bin/pydoc ## WARN: skip if other pythons in local exist.
printf "\nRemoval has been completed!\n"
Salvando o script, e executando-o para a remoção do Python
B - Salve o arquivo com o nome de “pyuninstaller.sh”.
C - Dê permissão de execução para o script com o comando abaixo:
chmod +x pyuninstaller.sh
D - Execute o script com o comando abaixo e aguarde a desinstalação:
Nota: Você precisa ter privilégio de superusuário (root) ou sudo.
bash pyuninstaller.sh
Conclusão
Esse tutorial pode ficar obsoleto com o tempo, então, lembre-se de ler o arquivo de README.rst que vem junto no pacote tar.xz no Python, nele contém informações mais detalhadas de como instalar (ou até mesmo remover) o Python de uma maneira bem completa.
Eu fico por aqui, abraço pra você.
- jektify © 2025