Ambientes virtuais podem ser descritos como diretórios de instalação isolados. Esse isolamento permite que você localize a instalação das dependências do seu projeto, sem forçá-lo a instalá-las em todo o sistema.
Imagine que você tenha dois aplicativos, App1 e App2. Ambos exigem o pacote Pak, mas com versões diferentes. Se você instalar o Pak versão 2.3 para App1, você não poderá executar o App2, porque ele requer a versão 3.1. Aqui é quando os ambientes virtuais são úteis.
Benefícios:
* Você pode ter vários ambientes, com vários conjuntos de pacotes, sem conflitos entre eles. Desta forma, os requisitos de diferentes projetos podem ser satisfeitos ao mesmo tempo.
* Você pode facilmente liberar seu projeto com seus próprios módulos dependentes.
Aqui estão duas maneiras de criar ambientes virtuais em Python.
## Virtualenv
[`virtualenv`](https://virtualenv.pypa.io/en/stable/) é uma ferramenta usada para criar ambientes Python isolados. Ele cria uma pasta que contém todos os executáveis necessários para usar os pacotes que um projeto Python precisaria.
Você pode instalá-lo com `pip` :
```
pip install virtualenv
```
Verifique a instalação com o seguinte comando:
```
virtualenv --version
```
### Crie um ambiente
Para criar um ambiente virtual, use:
```
virtualenv --no-site-packages my-env
```
Isso cria uma pasta no diretório atual com o nome do ambiente ( `my-env/` ). Esta pasta contém os diretórios para instalação de módulos e executáveis do Python.
Você também pode especificar a versão do Python com a qual deseja trabalhar. Apenas use o argumento `--python=/path/to/python/version` . Por exemplo, `python2.7` :
```
virtualenv --python=/usr/bin/python2.7 my-env
```
### Listar Ambientes
Você pode listar os ambientes disponíveis com:
```
lsvirtualenv
```
### Ativar um ambiente
Antes de começar a usar o ambiente, você precisa ativá-lo:
Isso garante que apenas pacotes sob `my-env/` sejam usados.
Você notará que o nome do ambiente é mostrado à esquerda do prompt. Desta forma, você pode ver qual é o ambiente ativo.
### Instalar pacotes
Você pode instalar pacotes um por um ou definindo um arquivo `requirements.txt` para o seu projeto.
```
pip install some-package
pip install -r requirements.txt
```
Se você deseja criar um arquivo `requirements.txt` partir dos pacotes já instalados, execute o seguinte comando:
```
pip freeze > requirements.txt
```
O arquivo conterá a lista de todos os pacotes instalados no ambiente atual e suas respectivas versões. Isso ajudará você a liberar seu projeto com seus próprios módulos dependentes.
### Desativar um ambiente
Se você terminar de trabalhar com o ambiente virtual, poderá desativá-lo com: