Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • Model Context Protocol (MCP): O Futuro da Interação com Modelos de IA
    • Processamento Assíncrono: Os Desafios da Escalabilidade
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Python»Isolando seus pacotes no Python com virtualenv

    Isolando seus pacotes no Python com virtualenv

    Rodrigo FerreiraBy Rodrigo Ferreira21 de agosto de 20173 Mins Read Python
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Para quem está iniciando no mundo da linguagem Python, tem uma palavrinha que aparece com frequência na hora de prepara o ambiente e baixar as primeiras dependências externas,  é a virtualenv. Mas do que se trata afinal e como faço para usar?

    Não tem segredo, virtualenv é uma ferramenta para manter as dependências de cada projeto separadas em um lugar diferente para que não ocorram conflitos, inclusive diferentes versões da própria linguagem python com o pyenv. Veja a imagem abaixo:

    flow_virtualenv     Isto é feito criando ambientes virtuais que possuem seus pacotes específicos e versão da linguagem, mantendo sua configuração global de site-packages limpa. Você pode ter um projeto que usa o python 2 e outro python 3, e cada um precisa de uma versão diferente do django ou flask.

    Vamos imaginar que você vai trabalhar em dois projetos python em paralelo mas cada um vai usar uma versão diferente do Django (framework web). Você criar 2 pastas, projeto1 e projeto2, e para usar o virtualenv devemos instala-lo utilziando o gerenciador de pacotes python, o pip. Estou usando o Visua Studio Code mas pode ser feito direto pelo terminal do windows (cmd):

    pip install virtualenv

    img1_vscode_virtualenv
    Instalação do virtualenv feita com sucesso.

    Feito isso, já temos o virtualenv baixado e podemos criar nossos ambientes segregados. Para saber se está ok, execute:

    virtualenv –version

    Será mostrada a versão do pacote virtualenv que foi instalada. Agora vamos acessar a pasta do primeiro projeto (projeto1) e criar nosso ambiente virtual:

    cd projeto1
    virtualenv app

    Pode usar o nome do ambiente como desejar, chamei o meu de “app” apenas. Veja como ficou:

    img2_virtualenv

    O interpretador usado será o python34 como mostrado no terminal. Agora que o ambiente virtual foi criado ainda precisamos ativa-lo para de fato começar a trabalhar nele:

    .\Scripts\activate.bat

    Após executar o activate, vemos que agora é mostrado ao lado esquerdo da linha de comando, entre parênteses, qual o ambiente virtual ativo no momento:

    img3_virtualenv

    Agora vamos instalar a versão mais atual do framework web Django neste ambiente que criamos, mas antes execute o comando abaixo para listar todos os pacotes existentes neste ambiente (nenhum já que acabamos de cria-lo):

    pip freeze

    Para instalar a versão mais atual do Django, executamos o comando abaixo:

    pip install django

    Após a instalação, executamos novamente um pip freeze para listar os pacotes:

    img4_virtualenv

    Veja que foi instalado o django 1.11.4, versão mais atual no momento que escrevo este post, e o pytz que é uma dependência associada a ele. Até ati tudo bem, mas agora queremos configurar nosso projeto2 seguindo os mesmos passos mostrados mas instalando uma versão específica do Django. Detalhe para fazermos isso precisamos desativar o virtualenv atual, faça:

    .\Scripts\deactivate.bat

    Resumindo os comando executados para montar nosso ambiente 2:

    $ cd projeto2
    $ virtualenv app2
    $ cd app2
    $ .\Scripts\activate.bat
    $ (app2) pip freeze
    $ (app2) pip install django==1.9.5
    $ (app2) pip freeze
    
    

     

    Com o último comando vemos agora que a lista de pacotes instalados neste virtualenv é: Django==1.9.5. Pode fazer o teste, desativar o app2, retornar para o outro ambiente e executar o pip freeze, a lista de pacotes será: Django==1.11.4 e pytz==2017.2.

    Quando devo usar o virtualenv? Sempre! Crie um virtualenv para cada projeto seu. Eles são simples, leves e podem ser recriados facilmente com todas as dependências. Para quem achou meio maçante a forma como os comandos são executados para criar e transitar entre ambientes, o virtualenvwrapper facilita esse lado.

    Fonte: http://docs.python-guide.org/en/latest/dev/virtualenvs/

     

    python virtualenv
    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Rodrigo Ferreira
    • Website
    • X (Twitter)
    • LinkedIn

    Programador, apaixonado por games, empreendedor. Formado em Ciência da Computação com especialização em desenvolvimento para web, trabalhei com projetos .Net C#, NodeJs e Python nestes 10 anos de experiência no setor privado, em orgão públicos e na minha startup, o EstoqueMestre. http://rodrigoreisf.com.br

    Posts Relacionados

    Rodar um mini servidor web a partir de uma pasta

    Asp.net Dicas Mvc NodeJS Python 20 de abril de 20193 Mins Read

    Criando executável de um código python

    Python 3 de julho de 20182 Mins Read

    Agendando job em python no Heroku

    Python 9 de maio de 20184 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • Model Context Protocol (MCP): O Futuro da Interação com Modelos de IA
    • Processamento Assíncrono: Os Desafios da Escalabilidade
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    Categorias
    • Arquitetura (15)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (2)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile