Criando um novo ambiente virtual em Python - Linux

Este tópico serve como continuação para: Iniciando em Python - Linux

Criando um novo ambiente virtual em Python - Linux

Neste tópico, irei ensinar a criar um projeto com um ambiente Python isolado, usando o programa virtualenv.


Instalando o virtualenv:

Digite em seu terminal:
$ pip3 install virtualenv → Python3/Todas as distros

Para verificar a instalação, digite:
$ virtualenv --version

Criando um novo ambiente:

Para criar um ambiente virtual python com o virtualenv, digite em seu terminal:
$ virtualenv <nome_do_projeto>

Para ativar o ambiente, digite:
$ cd nome_do_projeto
$ source bin/activate

E o resultado será:
(nome_do_projeto)$

Para desativar o ambiente, digite:
(nome_do_projeto)$ deactivate

Que retornará:
$


Vantagens em se utilizar o virtualenv:

  • Isola o seu projeto do Python nativo do ambiente Linux;
  • Organiza seus projetos e módulos, sem encher o pip nativo do Linux.

Documentação do virtualenv:

https://virtualenv.pypa.io/en/latest/


Espero que tenha gostado :slight_smile:
Alguma sugestão? Comente abaixo!

3 Curtidas

Uma complementação, você pode facilitar muito o gerenciamento de ambientes virtuais usando o virtualenvwrapper (linux) ou virtualenvwrapper-win (windows), o que seria um complemento para o virtualenv.

Para instalar, depois de ter seguido o seu guia de instalação do virtualenv, basta usar o comando:
pip3 install virtualenvwrapper

Assim, são criados alguns atalhos bastante úteis. Vou listar aqui os três mais comuns:

  • Criar um novo ambiente: mkvirtualenv [-p <interpretador_da_versão_desejada>] [-r <arquivo_texto_com_pacotes_a_serem_instalados>] <nome_do_projeto>
  • Ativar um ambiente: workon <nome_do_projeto>
  • Deletar um ambiente (o ambiente deve estar desativado): rmvirtualenv <nome_do_projeto>

Um exemplo de uso:
Suponha que o ambiente teste será criado usando o python 3.4 com os pacotes no arquivo req.txt.

mkvirtualenv -p python3.4 -r req.txt teste

Obs.: Os parâmetros extras não opcionais. Se nenhum parâmetro extra for usado, o novo ambiente usará o interpretador padrão do sistema no comando python3 e apenas os pacotes pip, setuptools e wheel (ou seja, os pacotes necessários para instalar outros pacotes) serão instalados no ambiente.

Existem muitos outros comandos para funções diversas de gerenciamento de ambientes como copiar um ambiente, ver os detalhes de um ambiente específico, executar um comando em todos os ambientes (útil para atualizar o pip ou mesmo instalar pacotes básicos que serão usados em todos).

Todos esses comandos extras e parâmetros podem ser acessados na documentação.

2 Curtidas

Muito boa essa dica! :wink: Não conhecia o virtualenvwrapper

1 Curtida

Seria bom também dizer as desvantagens.

1 Curtida

Não existem desvantagens ao trabalhar com virtual environments

Olá a todos.

Gostaria de deixar 2 sugestões:

A grande vantagem do Poetry é que ele gera um arquivo pyproject.toml que é discutido na PEP 517 e 518 (se não me engano).

1 Curtida