148 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			148 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Virtual Environments
 | ||
| localeTitle: Ambientes Virtuais
 | ||
| ---
 | ||
| ## Ambientes Virtuais
 | ||
| 
 | ||
| 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:
 | ||
| ```
 | ||
| source my-env/bin/activate 
 | ||
| ```
 | ||
| 
 | ||
| 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:
 | ||
| ```
 | ||
| deactivate 
 | ||
| ```
 | ||
| 
 | ||
| Isso coloca você de volta ao interpretador Python padrão do sistema com todas as suas bibliotecas instaladas.
 | ||
| 
 | ||
| ### Excluir um ambiente
 | ||
| 
 | ||
| Simplesmente exclua a pasta do ambiente.
 | ||
| 
 | ||
| ## Conda
 | ||
| 
 | ||
| [`Conda`](https://conda.io/docs/index.html) é um pacote, dependência e gerenciamento de ambiente para muitos idiomas, incluindo o Python.
 | ||
| 
 | ||
| Para instalar o Conda, siga estas [instruções](https://conda.io/docs/user-guide/install/index.html) .
 | ||
| 
 | ||
| ### Crie um ambiente
 | ||
| 
 | ||
| Para criar um ambiente virtual, use:
 | ||
| ```
 | ||
| conda create --name my-env 
 | ||
| ```
 | ||
| 
 | ||
| A Conda criará a pasta correspondente dentro do diretório de instalação do Conda.
 | ||
| 
 | ||
| Você também pode especificar com qual versão do Python você quer trabalhar:
 | ||
| ```
 | ||
| conda create --name my-env python=3.6 
 | ||
| ```
 | ||
| 
 | ||
| ### Listar Ambientes
 | ||
| 
 | ||
| Você pode listar todos os ambientes disponíveis com:
 | ||
| ```
 | ||
| conda info --envs 
 | ||
| ```
 | ||
| 
 | ||
| ### Ativar um ambiente
 | ||
| 
 | ||
| Antes de começar a usar o ambiente, você precisa ativá-lo:
 | ||
| ```
 | ||
| source activate my-env 
 | ||
| ```
 | ||
| 
 | ||
| ### Instalar pacotes
 | ||
| 
 | ||
| O mesmo que com `virtualenv` .
 | ||
| 
 | ||
| ### Desativar um ambiente
 | ||
| 
 | ||
| Se você terminar de trabalhar com o ambiente virtual, poderá desativá-lo com:
 | ||
| ```
 | ||
| source deactivate 
 | ||
| ```
 | ||
| 
 | ||
| ### Remover um ambiente
 | ||
| 
 | ||
| Se você quiser remover um ambiente do uso Conda:
 | ||
| ```
 | ||
| conda remove --name my-env 
 | ||
| ```
 | ||
| 
 | ||
| #### Mais Informações:
 | ||
| 
 | ||
| *   [site oficial](https://virtualenv.pypa.io/en/stable/) `virtualenv`
 | ||
| *   [Site oficial do](https://conda.io/docs/index.html) `Conda`
 | ||
| *   `The Hitchhicker's Guide to Python` - [Pypenv e ambientes virtuais](http://docs.python-guide.org/en/latest/dev/virtualenvs/) |