Python: Ambientes virtuais com pyenv + pipenv + win

 


Em Python pode-se gerenciar inúmeras versões de projetos com ambientes virtuais distintos e dependências independentes por projeto ou como é bastante conhecido virtualenv.


Requisitos

Vamos partir do princípio que há um windows 7 ou superior, totalmente configurado e com acesso a internet.

  1. cliente git para windows: https://git-scm.com/download/win
  2. Python para windows: https://www.python.org/downloads/

 

Escopo

  1. Windows 7 ou posterior
  2. git/Powershell ou cmd
  3. pyenv
  4. pipenv

O pacote pyenv serve para controlar e instalar facilmente as versões disponíveis de Python, jython, anaconda, miniconda, ironpython, pypy e stackless.

O pacote pipenv serve para gerenciar e fixar (pinar) de forma simples e eficiente os pacotes do projeto e todas as suas dependências, com a finalidade de garantir a replicação do ambiente em sua versão de criação original.

 

Instalação pyenv

  • Powershell ou Git Bash: git clone https://github.com/pyenv-win/pyenv-win.git $HOME/.pyenv
  • cmd.exe: git clone https://github.com/pyenv-win/pyenv-win.git %USERPROFILE%\.pyenv

Configuração PYENV

  1.  Pela busca do sistema, Localize "Variáveis do sistema" e clique;
  2. Na janela "Propriedades do sistema > aba: Avançado > Botão: 'Variáveis de Ambiente ..' ", clique;
  3. Na janela que se abre sessão "Variáveis do sistema", clique em: "Novo";
  4. Nesta janela preencha os campos respectivamente:
    • [WinNT] PYENV e %USERPROFILE%\.pyenv\pyenv-win ; ou
    • [Win10+] PYENV e %HOMEPATH%\.pyenv\pyenv-win ; ou
    • [Win10+] PYENV e %HOMEDRIVE%\.pyenv\pyenv-win 

Configuração PATH

  1. Na mesma janela anterior: "Variáveis de ambiente";
  2. Seção "Variáveis de usuário para %USERNAME%";
  3. Localize Path;
  4. Clique em "editar";
  5. Na janela que se abre clique em "Novo";
  6. Acrescente: %PYENV%\bin
  7. Mova para ficar acima de "Microsoft\WindowsApps"  
  8. Acrescente: %PYENV%\shims
  9. Mova para ficar acima de "Microsoft\WindowsApps"

 

Disponibilizar versões do Python

Próximo passo é instalar o Python nas versões desejadas: 3.9.0 e 3.8.6.

$ pyenv install 3.8.6 

$ pyenv install 3.9.0

Evite a tentação de poluir sua instalação global do Python, com instalações de modulos extras, pois isto evitará grandes problemas no futuro, principalmente no caso de recuperação em ambientes. 

Para tornar esta configuração mais amistosa, sem favorecer futura situação de difícil recuperação, criemos instalações "pyenv-virtualenv" de uso global, Exemplo com jupyter/notebook.

 

Ativar todas essas versões do Python e virtualenvs especiais para funcionarem cooperativamente

$ pyenv global 3.9.0 3.8.6

 

Criando o diretório do projeto para python 3.9

$ mkdir ~/projetos/proj1
$ cd ~/projetos/proj1
$ pipenv shell --python 3.9
$ python -V

 

Revisões anteriores

  • 2020.11.04 18.33h
  • 2020.11.11 17.16h

Refeferências

https://brito.blog.incolume.com.br/2019/11/python-ambientes-virtuais-com-pyenv.html 

 

Comentários