Todo programador que trabalha com Python sabe que a recomendação é dar, sempre que possível, preferência a versão mais recente da linguagem, o Python 3.
Mas, às vezes, há situações em que se faz necessário a utilização de versões anteriores da linguagem (Python 2), por algum motivo específico.
A situação se agrava um pouco mais quando não há retrocompatibilidade entre as versões, como é o caso do Python 3.
Mas o que essa “retroincompatibilidade” significa? Basicamente, indica que código escrito em Python 2 pode não funcionar rodando no interpretador do Python 3.
Não bastasse isso, instalar diversas versões de interpretadores Python em uma mesma máquina pode gerar conflitos.
Nesse sentido surge o Pyenv, um poderoso gerenciador de versões Python que possibilita, de maneira simples, criar diferentes ambientes de desenvolvimento em um mesmo computador, podendo ser ajustado de forma objetiva.
Neste tutorial você pode conferir mais a fundo o que é o Pyenv, como proceder sua instalação, criação e configuração do ambiente virtual. Confira!
Utilizada apenas em sistemas Unix-like, Pyenv é uma biblioteca criada por Yasuhiro Matsumoto para não comprometer a instalação nativa de Python do sistema operacional e disponibilizar várias versões de Python no computador, se assim desejar.
Segundo ChatGPT: “Pyenv é uma ferramenta para gerenciar várias versões do interpretador Python em um sistema operacional. Ele permite que você altere facilmente a versão global do Python utilizada em seu sistema, bem como a versão específica de cada projeto. Isso é útil para garantir a compatibilidade com vários projetos que possam exigir versões diferentes do Python.”
Algumas pessoas “desavisadas”, podem achar que “ah, essa versão está desatualizada, melhor eu atualizá-la” ou “eu não sou programador Python mesmo, melhor remover isso aqui para liberar mais espaço” e com isso alterar todo o funcionamento do sistema operacional, a ponto de ter até mesmo que formatá-lo para o “ponto de fábrica”.
Primeiramente, precisamos instalar algumas bibliotecas necessárias para o build (algumas não relacionadas ao Python, como curl, git, etc, mas se você for Dev, com certeza as utilizará em algum momento):
Copie e cole no terminal:
sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm gettext libncurses5-dev tk-dev tcl-dev blt-dev libgdbm-dev git python-dev python3-dev aria2 vim libnss3-tools python3-venv liblzma-dev libpq-dev
Copie e cole no terminal:
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
Neste caso, irei editar o .bashrc, mas como há outros tipos, como por exemplo o .zshrc, é possível identificar qual o shell atual utilizando o comando abaixo:
Copie e cole no terminal:
echo $SHELL
Exemplo de saída foi: /bin/bash
Com um editor de texto de sua preferência, abra o arquivo .bashrc e cole os comandos abaixo:
Copie e cole no terminal:
export PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
if command -v pyenv 1>/dev/null 2>&1; then
eval “$(pyenv init –path)”
fi
Estes mesmos comandos poderão ser inseridos também no .profile (ou .bash_profile, dependendo da sua versão de SO).
A diferença entre ter estes comandos tanto no .profile quanto no .bashrc, é que o .profile será carregado toda vez que você efetuar o login na sua máquina, já o .bashrc será carregado a cada vez que você abrir uma instância do seu terminal.
Copie e cole no terminal:
pyenv install -l
Após decidir qual versão de Python será utilizada, basta rodar:
Copie e cole no terminal:
pyenv install <versão escolhida>
Para colocar a versão instalada como a global (default do seu computador), basta rodar:
Copie e cole no terminal:
pyenv global <versao>
Por garantia, é útil executar o arquivo ./bashrc com o seguinte comando:
Copie e cole no terminal:
source ./bashrc
Fechar e abrir novamente o terminal.
Dentro do diretório do projeto rode o comando:
Copie e cole no terminal:
pyenv local <versão>
Dessa forma você poderá ter um projeto com versões diferentes. Por exemplo, você pode ter um projeto utilizando Python 3.5 onde as f-strings, por exemplo, ainda não haviam sido implementadas e criar um outro projeto já utilizando o Python 3.6 onde esta funcionalidade já está disponível.
Copie e cole no terminal:
pyenv versions
Com isso serão apresentadas as versões que foram instaladas, mais a versão nativa (system):
E caso queira voltar para a versão nativa, basta novamente utilizar o comando “global”:
Copie e cole no terminal:
pyenv global system
Outra forma de verificar a versão está sendo utilizada, é com o comando:
Copie e cole no terminal:
which python
E o resultado será:
O Pyenv juntamente com o virtualenv, são ótimas ferramentas caso você trabalhe com múltiplos projetos de diferentes versões de Python.
Um fará a gestão das versões do Python em si e o outro fará a gestão dos ambientes virtuais de cada projeto, de forma isolada.
De forma resumida, com o virtualenv, você consegue isolar seus projetos Python sem precisar instalar todas as libs que estes projetos usam diretamente no Python do seu sistema.
Será criado um ambiente especificamente para o projeto que deseja e será neste que você irá instalar suas libs.
Desta forma é possível ter uma aplicação com Django e todas as libs para trabalhar neste projeto e poderá ter um outro onde instalará Flask e cada um terá o seu próprio ambiente, sem um influenciar no outro.
Da mesma forma como pode-se ter um projeto com Django na versão 1.5 e um outro com Django na versão 4 sem haver conflitos.
Como os primeiros comandos rodados acima, a lib python3-venv já foi instalada, agora basta rodar o comando:
Copie e cole no terminal:
python -m venv <nome_do_ambiente>
Por convenção, é utilizado como nome do ambiente, venv ou até mesmo .venv, mas pode-se escolher o nome que desejar.
Copie e cole no terminal:
source <nome_do_ambiente>/bin/activate
Para usuários Windows, será habilitado da seguinte forma (pelo cmd):
Copie e cole no terminal:
<nome_do_ambiente>\Scripts\activate.bat
Ou pelo Powershell:
Copie e cole no terminal:
<nome_do_ambiente>\Scripts\Activate.ps1
Você saberá que seu ambiente foi ativado, ao ver no canto esquerdo do seu shell, o nome escolhido para o seu venv entre parênteses.
O Python é uma linguagem essencial para criar soluções baseadas em Inteligência Artificial e Machine Learning, pois facilita o trabalho com dados estruturados.
E quando empregadas de maneira correta, ambas as soluções podem auxiliar os negócios, promovendo a agilidade, otimização de processos, aumento de receita impulsionado pelo desenvolvimento ou aprimoramento de produtos e tomadas de decisão mais rápidas.
Se precisar de ajuda no desenvolvimento de soluções pautadas nessas metodologias, saiba que pode contar com a Accurate!
Somos uma consultoria que há mais de 30 anos acelera e transforma negócios, criando soluções inovadoras e escaláveis, que vão de encontro a resolução de diversos tipos de desafios tecnológicos.
Entre em contato agora mesmo com um de nossos especialistas e saiba como realizar as mudanças necessárias para disponibilizar, implantar e aumentar a escala de Machine Learning do seu negócio.
Caso tenha interesse em conhecer mais sobre nossos serviços e especialidades, visite o nosso site ou nossas redes sociais: Facebook, Instagram, Twitter, Linkedin e YouTube.
E, se for um profissional da área, veja as nossas vagas em aberto na página de carreiras e venha fazer parte da nossa equipe.
Não deixe também de comentar e continuar acompanhando o Blog da Accurate.
Nos últimos anos, a necessidade de soluções digitais que aliem eficiência, alcance e custo-benefício impulsionou…
A transformação digital acelerou a necessidade de inovação em Tecnologia da Informação (TI). No ambiente…
O desenvolvimento de FAQBots inteligentes é uma solução que vem ganhando espaço, permitindo que…
O avanço da Inteligência Artificial (IA) está remodelando a maneira como empresas conduzem suas…
Adotar uma estratégia multicloud para redução de custos é essencial para empresas que buscam…
No cenário atual, onde a transformação digital não é mais uma opção, mas uma necessidade,…