Instalar o Python 3.9.0 no Ubuntu 20.04

No dia 5 de outubro foi lançada a nova versão do Python, a versão 3.9.0, com suporte até 2025. Mesmo as distribuições Linux mais recentes ainda não disponibilizaram essa versão para instalação e, caso você queira, precisará instalar manualmente (ou aguardar até que as distribuições atualizem seus repositórios).

A instalação manual é bem simples, basta familiaridade com um terminal Linux. A primeira coisa a fazer é checar as versões do Python em seu computador. Isso pode ser feito com:

$ python2 --version
Python 2.7.18

$ python3 --version
Python 3.8.5

$ python --version
Python 3.8.5

Portanto, as duas versões do Python instaladas em meu Ubuntu 20.04 são a 2.7.18 e a 3.8.5 (note que a versão padrão em meu sistema é a versão 3.8.5).

Antes de instalar a versão 3.9.0, você precisa instalar alguns pacotes necessários para a compilação. No Ubuntu 20.04, faça:

$ sudo apt install build-essential libgdbm-compat-dev
$ sudo apt install zlib1g-dev libjpeg-dev libncurses5-dev
$ sudo apt install libgdbm-dev libnss3-dev libssl-dev
$ sudo apt install libreadline-dev libffi-dev
$ sudo apt install libsqlite3-dev sqlite3 liblzma-dev
$ sudo apt install curl wget tar libbz2-dev

Depois de instalar os pacotes necessários, faça o download do código fonte do Python 3.9.0 e descompacte o arquivo:

$ wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz

$ tar -Jxvf Python-3.9.0.tar.xz

Será criado o diretório “Pyton-3.9.0”. Entre nesse diretório e configure a instalação com:

$ cd Python-3.9.0

$ ./configure --enable-optimizations --with-ensurepip=install

A configuração acima instalará o Python nos diretórios padronizados do sistema (/usr/local/bin), habilitará otimizações de código (a compilação será mais demorada mas o Python, em média, rodará mais rápido) e instalará o utilitário PIP. Se a configuração foi executada com sucesso, você já pode compilar a linguagem com:

$ make

A compilação demora, portanto tenha paciência (no meu computador a compilação demorou cerca de 14 minutos). Ao final da compilação você verá mensagens de que os testes da linguagem foram executados com sucesso e não receberá nenhuma mensagem de erro. É importante verificar também se a compilação foi concluída mas um ou outro módulo do Python não foi construído: essa situação ocorre se você não tem todas as dependências instaladas.

Se tudo correu bem, é hora de instalar o Python, com o comando:

$ sudo make altinstall

Note que eu usei o comando “make altinstall” ao invés do “make install”. Isso é necessário para não sobrescrever outra versão do Python que possa já estar instalada.

Para testar se o Python 3.9 foi instalado corretamente, sem interferir com outras versões já instaladas, faça:

$ python2 --version
Python 2.7.18

$ python3 --version
Python 3.8.5

$ python3.9 --version
Python 3.9.0

$ python --version
Python 3.8.5

Veja que com o uso do “make altinstall” o Python 3.9.0 foi instalado como “python3.9“, para não interferir com a versão 3.8.5 que já estava instalada no meu computador como “python3“. Note também que a versão padrão do meu sistema continuou sendo a 3.8.5. Tudo certo até aqui! Hora de ajustar mais algumas coisas…

Quando configuramos a compilação pedimos para instalar o utilitário PIP. Agora devemos atualizá-lo para a versão mais recente:

$ sudo pip3.9 install --upgrade pip

Agora vamos usar o PIP para instalar alguns utilitários para facilitar o trabalho com ambientes virtuais do Python (note que estou usando especificamente o pip3.9):

$ sudo pip3.9 install virtualenv virtualenvwrapper

Agora é necessário ajustar o arquivo .bashrc em seu diretório HOME com algumas variáveis de ambiente e configurações importantes. Para isso basta editar o arquivo e incluir as seguintes linhas:

# Diretório para os ambientes virtuais do Python:
export WORKON_HOME=$HOME/.virtualenvs

# Que versão do Python será usada?
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.9

# Carrega os utilitários:
source /usr/local/bin/virtualenvwrapper.sh

Depois que você fizer as alterações acima, salve o arquivo, feche o terminal e abra o terminal novamente: você verá que o Python criará a configuração para a execução de ambientes virtuais (isso só é realizado uma única vez):

Das próximas vezes que o terminal for aberto o Python verificará que a configuração para os ambientes virtuais já existe (em $HOME/.virtualenvs) e não fará nada.

Hora de testar tudo agora! Primeiro vamos criar um ambiente virtual com o Python 3.9.0, verificar a versão e sair do ambiente virtual:

$ mkvirtualenv ambiente_python3.9

Você verá o ambiente sendo criado e ativado no terminal:

Logo após a criação do ambiente virtual ele já foi ativado para nós (note que “ambiente_python3.9” aparece entre parênteses no prompt). Verifique agora que o Python 3.9.0 é a versão padrão dentro desse ambiente, bastando digitar “python” (depois saia com o comando exit):

$ python
Python 3.9.0 (default, Nov 11 2020, 09:35:08)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

Para sair desse ambiente virtual, basta usar o comando:

$ deactivate

Nesse momento o ambiente virtual é desativado e o prompt de comandos volta ao normal. Para ativar novamente o ambiente virtual basta fazer:

$ workon ambiente_python3.9

Para criar ambientes virtuais com outras versões do Python, desde que elas também estejam instaladas em seu computador, basta informar a versão desejada. Por exemplo, se eu quiser criar um ambiente virtual com o Python 2.7.18 que está instalado em meu computador, basta fazer:

$ mkvirtualenv ambiente_python2.7 --python=python2

Para verificar:

(ambiente_python2.7) abrantesasf@analytics01:~$ python
Python 2.7.18 (default, Aug 4 2020, 11:16:42)
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(ambiente_python2.7) abrantesasf@analytics01:~$ deactivate
abrantesasf@analytics01:~$

Para remover um ambiente virtual, basta usar:

$ rmvirtualenv ambiente_python2.7

Em resumo, para trabalhar com os ambientes virtuais:

  • Use “mkvirtualenv <nome> [--python=<versão>]” para criar um ambiente virtual. Se você não especificar uma versão específica do Python, ele será criado com a versão 3.9.0 (pois foi isso que configuramos no arquivo .bashrc).
  • Use “workon <nome>” para ativar e trabalhar em um ambiente virtual específico do Python.
  • Use “deactivate” para sair de um ambiente virtual.
  • Use “rmvirtualenv <nome>” para apagar um ambiente virtual.

Se você chegou até aqui, está com o Python 3.9.0 instalado e com todas as configurações para trabalhar com ambiente virtuais corretas. O que você vai programar agora?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *