Advertisement
  1. Code
  2. Python

Entendendo Ambientes Virtuais em Python

Scroll to top
Read Time: 5 min

() translation by (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:

1
sudo apt-get install python-pip python-dev build-essential

Com pip, instalemos a ferramenta de ambiente virtual.

1
pip install virtualenv

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

1
mkdir PythonApp

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

1
virtualenv PythonAppVenv

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:

1
source PythonAppVenv/bin/activate

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.

1
pip install flask

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:

1
deactivate 

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:

1
pip freeze > requirements.txt

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:

1
pip install -r requirements.txt

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.

1
pip install virtualenvwrapper

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:

1
export WORKON_HOME=.virtualenvs

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.

1
source /usr/local/bin/virtualenvwrapper.sh
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.

1
mkvirtualenv PythonVenv

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.

1
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:

1
workon PythonV

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.

1
ls $WORKON_HOME

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.

1
rmvirtualenv PV
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:

1
mkproject NewPro

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:

1
virtualenvwrapper
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
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
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.