Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python

Entendendo Ambientes Virtuais em Python

by
Read Time:5 minsLanguages:

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Nesse tutorial, aprenderemos sobre ambientes virtuais. Veremos a importância sobre seu uso em Python e como começar a usá-los.

O Que É um Ambiente Virtual?

Um ambiente virtual é uma ferramenta para separar um projeto, dependências e bibliotecas em um único lugar. Esse ambiente é específico para o projeto e não interfere as dependências de outros projetos.

Por exemplo, podemos trabalhar num projeto X que usa a versão 1.0 da biblioteca Z e também manter o projeto Y usando a versão 2.0 da mesma biblioteca Z.

Como Ambientes Virtuais Funcionam?

A ferramenta de ambiente virtual cria uma pasta dentro da pasta do projeto. Por padrão, ela é chamada de venv, mas podemos customizá-la. Ela mantem executáveis do Python e pip lá dentro. Quando o ambiente virtual é ativado, os pacotes instalados posteriormente são instalados dentro da pasta do ambiente virtual específico daquele projeto.

Começando com VirtualEnv

Primeiro, devemos ter pip instalado no sistema. Podemos instalá-lo usando o comando a seguir:

Com pip, instalemos a ferramenta de ambiente virtual.

Para começar a usar virtualenv, precisamos iniciá-lo e ativá-lo. Comecemos criando um nova pasta de projeto, PythonApp.

Naveguemos até a pasta PythonApp e iniciemos o ambiente virtual digitando o comando abaixo:

O comando acima configurará o ambiente virtual para o projeto PythonApp.

Setting Up Virtual EnvironmentSetting Up Virtual EnvironmentSetting Up Virtual Environment

Isso cria uma pasta chamada PythonAppVend dentro da pasta PythonApp. Ela mantem executáveis Python e pip lá dentro. Quaisquer novos pacotes instalados para o projeto após o ambiente virtual ter sido ativado são colocados lá. Eis a estrutura dela:

Virtual Environment Folder StructureVirtual Environment Folder StructureVirtual Environment Folder Structure

Para começar a usar o ambiente virtual, precisamos ativá-lo usando o comando abaixo:

Após atvado, devemos ver o nome PythonAppVenv no lado esquerdo do nome do prompt de comando.

Virtual Environment ActivatedVirtual Environment ActivatedVirtual Environment Activated

Tentemos instalar um novo pacote para o projeto PythonApp.

O novo pacote deve ser instalado na pasta do ambiente virtual. Vejamos a pasta do ambiente virtual dentro de lib/python2.7/site-packages e devemos ver o novo pacote flask instalado. Podemos ver mais sobre Flask na página do projeto.

Flask Package Installed in Virtual DirectoryFlask Package Installed in Virtual DirectoryFlask Package Installed in Virtual Directory

Após terminar com o ambiente virtual, podemos desativá-lo usando o comando abaixo:

Pacotes Mais Fáceis de Rastrear

Ao lidar com programas Python, instalamos diferentes pacotes requeridos pelo programa. Continuamos trabalhando e a lista de pacotes instalados só aumenta. Agora chegou a hora de publicar o código Python para o servidor de produção. Oops... Já não sabemos quais pacotes foram instalados para fazer o pacote funcionar.

Tudo que podemos fazer é abrir o programa Python e verificar quais pacotes importamos nele e instalá-los um a um.

Um ambiente virtual provê um método fácil de rastrear os pacotes instalados no projeto. Uma vez ativado, ele provê a facilidade de congelar o estado atual dos pacotes do ambiente.

Podemos fazer isso usando o comando abaixo:

O comando acima cria um arquivo chamado requirements.txt que detalha os pacotes com suas versões no ambiente atual. Eis como ele parece:

Requirements FileRequirements FileRequirements File

Esse arquivo é bem útil para a publicação do projeto em outra plataforma já que todas as dependências do projeto já estão à nossa disposição nele. Para instalar as dependências do projeto, usando tal arquivo, executemos o comando abaixo:

virtualenwrapper Facilitando as Coisas

A virtualenv é um verdeiro amplificador para os desenvolvedores. Mas dá muito trabalho quando temos de lidar com mais de um ambiente virtual. Para lidar com vários ambientes virtuais, há uma extensão para o virtuaenv, a virtualenvwrapper.

virtualenvwrapper é um envólucro para o virtualenv que provê a funcionalidade de lidar com vários ambientes virtuais.

Comecemos instalando virtualenvwrapper com pip.

Após instalar virtualenvwrapper, precisamos configurar o diretório de trabalho onde os ambientes virtuais serão salvos. Executemos o comando a seguir para criar o diretório de trabalho para o virtualenvwrapper:

O comando acima usa o diretório .virtualenvs como diretório de trabalho do virtualenvwrapper.

Podemos tanto fazer o virtualenvwrapper executar do terminal ou adicionar comandos do virtualenvwrapper ao .bashrc.

Source virtualenvwrapperSource virtualenvwrapperSource virtualenvwrapper

Agora os comandos estão acessíveis na linha de comando atual apertando a tecla Tab. Criemos uma nova pasta de projeto chamada PythonProject. Naveguemos até ela. Mais cedo, ao usar virtualenv, criamos o ambiente virtual e então o ativamos. Usando virtualenvwrapper, realizamos isso com um único comando.

O comando acima cria o ambiente virtual e o ativa.

Activate Virtual Environment Using virtualenvwrapperActivate Virtual Environment Using virtualenvwrapperActivate Virtual Environment Using virtualenvwrapper

Para desativá-lo, precisamos usar o comando deactivate.

Agora, suponhamos que em certos cenários precisamos mudar entre ambientes virtuais diferentes. virtualenvwrapper provê o método workon para alterá-los. O comando tem esse formato:

No comando acima, PythonV é o nome do ambiente virtual. Eis uma imagem onde o comando workon é visto em ação.

Switching Virtual Environment Using workon CommandSwitching Virtual Environment Using workon CommandSwitching Virtual Environment Using workon Command

virtualenvwrapper também provê um comando para listar os ambientes virtuais disponíveis.

O comando acima mostra uma lista de ambientes virtuais que existem.

Listing Existing Virtual EnvironmentsListing Existing Virtual EnvironmentsListing Existing Virtual Environments

Para remover um ambiente virtual, podemos usar rmvirtualenv.

Remove the Virtual EnvironmentRemove the Virtual EnvironmentRemove the Virtual Environment

Há um comando que criar uma pasta de projeto e seu ambiente virtual associado. No terminal, executemos o comando a seguir:

O comando a seguir deve criar um projeto e seu ambiente virtual associado.

Create Project Directory and Associated Virtual DirectoryCreate Project Directory and Associated Virtual DirectoryCreate Project Directory and Associated Virtual Directory

Há alguns outros comandos que podemos usar no virtualenvwrapper. Podemos ver uma lista de comando disponíveis digitando o comando a seguir:

List of Commands Available in virtualenvwrapperList of Commands Available in virtualenvwrapperList of Commands Available in virtualenvwrapper

Resumindo

Nesse tutorial, vimos como começar a usar ambientes virtuais em Python. Aprendemos a importância de seu uso e como funcionam. Também vimos o virtualenvwrapper, um na ferramenta virtualenv para lidar com vários ambientes virtuais.

Já usou algum ambiente virtual no Python? Diga-nos o que acha sobre eles nos comentários abaixo.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.