Como criar e gerenciar ambientes virtuais Python

Como criar e gerenciar ambientes virtuais Python
É bastante comum ver desenvolvedores de Python instalando e atualizando pacotes de fontes padrão e não-padrão para desenvolver aplicativos. Os motivos podem variar desde o uso de uma versão mais recente de um módulo até o uso de uma versão específica, caso haja uma regressão.

Esses requisitos e casos de uso podem ser uma dor para gerenciar quando diferentes aplicativos exigem versões diferentes da mesma biblioteca. Felizmente, o Python fornece uma solução robusta para isolar ambientes de desenvolvimento usando ambientes virtuais.

O que é um ambiente virtual python?

Um ambiente virtual do Python é uma árvore de diretório independente que contém uma instalação específica do Python, juntamente com todas as suas bibliotecas padrão. As aplicações que exigem uma versão específica da biblioteca podem ser isoladas nesses ambientes virtuais sem poluir o sistema ou outras implementações do Python. Cada ambiente virtual é uma caixa de areia separada, para que você possa criar tantos ambientes virtuais que deseja.

Criando e gerenciando ambientes virtuais

Para criar ambientes virtuais no Ubuntu, primeiro instale o pacote de dependência necessário executando o comando:

$ sudo apt install python3-venv

Agora você pode criar ambientes virtuais executando o comando:

$ python3 -m venv myenv

Executar o comando acima criará um ambiente virtual chamado "myenv" em seu diretório doméstico. Se você deseja usar qualquer outra versão do Python, poderá substituir o “Python3” acima por um caminho completo para a localização do seu binário alternativo do Python.

Para ativar o ambiente personalizado criado acima, execute o comando:

$ fonte myenv/bin/ativação

Depois que o ambiente virtual for ativado, o prompt do shell mudará para refletir o ambiente virtual atual que você está usando. Se você corre “sys.Path ”Comando dentro do intérprete Python, você pode ver que o ambiente virtual está funcionando corretamente. Python agora procurará pacotes dentro do ambiente personalizado que você acabou de criar.

Se o seu prompt de shell não mostrar o nome do ambiente virtual como prefixo, qualquer arquivo python que você executa usará o System Python em vez. Portanto, é necessário obter o ambiente virtual antes de executar um arquivo em seu ambiente personalizado.

Você pode desativar um ambiente virtual executando o comando:

$ desativado

Todo ambiente virtual do Python inclui um “pyvenv.Arquivo CFG "com uma tecla" Incluir-System-Site-Packages ", que é definida como" false "por padrão. Esta chave informa ao ambiente virtual, se deve usar o site de pacotes ou não. Se definido como "true", o python em ambiente virtual analisará os pacotes do sistema, caso um pacote não seja encontrado no ambiente virtual. Também tornará todos os pacotes instalados do sistema importáveis ​​dentro do ambiente virtual.

Para excluir um ambiente virtual, você só precisa excluir o diretório de ambiente virtual e ele desaparecerá.

É possível criar e armazenar VirtualEnv em unidades USB externas. Você precisará ter uma unidade USB formatada no sistema de arquivos NTFs ou EXT. O sistema de arquivos FAT32 não suporta symblinks, que é um requisito para os ambientes virtuais funcionarem.

Usando o PIP Package Manager para instalar pacotes dentro do ambiente virtual

Dentro de um ambiente virtual, você pode usar o PIP Package Manager para instalar, atualizar e desinstalar pacotes. É possível fazer o downgrade ou atualizar um pacote especificando um número de versão específico.

Você pode instalar um pacote usando o comando pip executando (substitua o pygame pelo nome do pacote desejado):

$ pip install pygame

Um repositório pesquisável de pacotes de PIP pode ser encontrado aqui.

Para desinstalar um pacote, use comando:

$ pip desinstala pygame

Para ver todas as versões de um pacote, execute o comando:

$ pip install pygame ==

Para rebaixar ou atualizar para uma versão específica, use o comando (substitua “1.9.5 ”com o número da versão desejada):

$ pip install pygame == 1.9.5

Para atualizar um pacote para a versão mais recente, execute o comando:

$ pip install -upgrade pygame

Para ver todos os pacotes instalados no ambiente virtual, execute o comando:

Lista de $ pip

Para salvar uma lista de pacotes instalados dentro do VirtualENV, execute o comando:

$ pip congelamento> requisitos.TXT

Você pode usar acima “Requisitos.arquivo txt ”para instalar pacotes a granel. Um caso de uso é duplicar um ambiente existente instalando todos os pacotes do zero. Para instalar pacotes de PIP a granel, execute o comando:

$ pip install -r requisitos.TXT

Usando ambientes virtuais Python com aplicativos não-python

As aplicações escritas em outras linguagens de programação podem ser sandboxed em ambientes virtuais de Python, desde que o PIP ou qualquer outro gerenciador de pacotes Python forneça binários e pacotes para essas linguagens/estruturas de programação alternativa.

Aqui está um pequeno exemplo que explica a instalação do nó.JS no ambiente virtual de Python. Execute os seguintes comandos um por um:

$ python3 -m venv my_node_env
$ fonte my_node_env/bin/ativação
Roda de instalação $ pip
$ PIP Instale o Nodeenv
$ Nodeenv -p
$ Nodeenv --versões
$ node -versão

Uma vez feito, você terá um nó completamente isolado.JS Ambiente. Você pode criar o número de ambientes virtuais que quiser para um nó diferente.Aplicações JS. Os pacotes instalados via NPM Package Manager serão confinados apenas ao ambiente virtual ativado.

Conclusão

Criar um ambiente virtual do Python é uma excelente maneira de recorrer os ambientes de desenvolvimento. Cada ambiente virtual tem seu próprio binário python e seu próprio conjunto independente de pacotes. O desenvolvimento de múltiplas aplicações Python no mesmo sistema pode poluir rapidamente sua casa e o diretório raiz e os ambientes virtuais facilitam mantê -los.