O PYENV-VIRTUALENV é um plug-in Pyenv que fornece recursos para gerenciar ambientes VirtualENVs e CONDA para Python em sistemas do tipo UNIX.
(AVISO: Se você é um usuário existente do VirtualEnvWrapper e adora, Pyenv-virtualenvwrapper pode ajudá-lo (adicionalmente) a gerenciar seus virtuais.)
Isso instalará a versão mais recente de desenvolvimento do Pyenv-virtualenv no diretório $(pyenv root)/plugins/pyenv-virtualenv
.
NOTA IMPORTANTE: Se você instalou o PYENV em um diretório não padrão, certifique-se de clonar esse repositório no diretório 'plugins' de onde quer que você se instalasse.
De dentro desse diretório, você pode:
git pull
para baixar as últimas alterações.Confira pyenv-virtualenv no diretório de plug-in
git clone https://github.com/pyenv/pyenv-virtualenv.git $( pyenv root ) /plugins/pyenv-virtualenv
Para a concha de peixe:
git clone https://github.com/pyenv/pyenv-virtualenv.git (pyenv root)/plugins/pyenv-virtualenv
(Opcional) Adicione pyenv virtualenv-init
ao seu shell para ativar a ativação automática dos virtuais. Isso é totalmente opcional, mas bastante útil. Consulte "Ativar Virtualenv" abaixo.
echo ' eval "$(pyenv virtualenv-init -)" ' >> ~ /.bashrc
Casca de peixes Nota : Adicione isso ao seu ~/.config/fish/config.fish
status --is-interactive ; and pyenv virtualenv-init - | source
NOTA ZSH : Modifique seu arquivo ~/.zshrc
em vez de ~/.bashrc
.
Reinicie seu shell para ativar o pyenv-virtualenv
exec " $SHELL "
Os usuários do MacOS podem instalar o PYENV-VIRTUALENV com o gerenciador de pacotes Homebrew. Isso lhe dará acesso ao comando pyenv-virtualenv
. Se você tiver o Pyenv instalado, também poderá usar o comando pyenv virtualenv
.
Este é o método de instalação recomendado se você instalou o PYENV com homebrew.
brew install pyenv-virtualenv
Ou, se você deseja instalar o último lançamento de desenvolvimento:
brew install --HEAD pyenv-virtualenv
Após a instalação, você ainda precisar
eval " $( pyenv virtualenv-init - ) "
para o arquivo .rc
do seu shell (conforme declarado nas advertências). Você só terá que fazer isso uma vez.
pyenv virtualenv
com Pyenv Para criar um VirtualEnv para a versão Python usada com Pyenv, execute pyenv virtualenv
, especificando a versão Python desejada e o nome do diretório VirtualEnv. Por exemplo,
pyenv virtualenv 2.7.10 my-virtual-env-2.7.10
Criará um VirtualEnv baseado no Python 2.7.10 sob $(pyenv root)/versions
em uma pasta chamada my-virtual-env-2.7.10
.
pyenv virtualenv
encaminha quaisquer opções para o comando subjacente que realmente cria o ambiente virtual ( conda
, virtualenv
ou python -m venv
). Consulte a saída do pyenv virtualenv --help
para obter detalhes.
Se houver apenas um argumento dado ao pyenv virtualenv
, o VirtualENV será criado com o nome fornecido com base na versão atual do Pyenv Python.
$ pyenv version
3.4.3 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv venv34
pyenv virtualenvs
mostra a lista de ambientes VirtualENVs e conda
existentes.
$ pyenv shell venv34
$ pyenv virtualenvs
miniconda3-3.9.1 (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
miniconda3-3.9.1/envs/myenv (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
2.7.10/envs/my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
3.4.3/envs/venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
* venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
Existem duas entradas para cada VirtualEnv, e a mais curta é apenas um link simbólico.
Algumas ferramentas externas (por exemplo, Jedi) podem exigir que você activate
os ambientes VirtualENV e conda
.
Se eval "$(pyenv virtualenv-init -)"
estiver configurado em seu shell, pyenv-virtualenv
ativará automaticamente/desativar o VirtualEnvs em inserir/deixar diretórios que contêm um arquivo .python-version
que contém o nome de um ambiente virtual válido como mostrado na saída de pyenv virtualenvs
(por exemplo, venv34
ou 3.4.3/envs/venv34
no exemplo acima). Os arquivos .python-version
são usados pelo PYENV para denotar versões locais do Python e podem ser criados e excluídos com o comando pyenv local
.
Você também pode ativar e desativar um Pyenv Virtualenv manualmente:
pyenv activate < name >
pyenv deactivate
Remover os diretórios em $(pyenv root)/versions
e $(pyenv root)/versions/{version}/envs
excluirá o virtualenv, ou você pode executar:
pyenv uninstall my-virtual-env
Você também pode excluir o VirtualENVS existente usando o comando virtualenv-delete
, por exemplo, você pode executar:
pyenv virtualenv-delete my-virtual-env
Isso excluirá o VirtualEnv chamado my-virtual-env
.
Existe um módulo VENV disponível para Cpython 3.3 e mais recente. Ele fornece um módulo executável venv
, que é o sucessor do virtualenv
e distribuído por padrão.
pyenv-virtualenv
usa python -m venv
se estiver disponível e o comando virtualenv
não estiver disponível.
Você pode gerenciar os ambientes conda
pelo conda create
da mesma maneira que as instalações padrão do Anaconda/Miniconda. Para usar esses ambientes, você pode usar pyenv activate
e pyenv deactivate
.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
$ pyenv activate miniconda3-3.9.1/envs/myenv
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/bin from PATH
prepending /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin to PATH
$ python --version
Python 3.4.3 :: Continuum Analytics, Inc.
$ pyenv deactivate
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin from PATH
Se conda
estiver disponível, pyenv virtualenv
o usará para criar o ambiente pelo conda create
.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv myenv2
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv2
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
Você pode usar a versão como miniconda3-3.9.1/envs/myenv
para especificar o ambiente conda
como uma versão no Pyenv.
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv shell miniconda3-3.9.1/envs/myenv
$ which python
/home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin/python
Você pode definir determinadas variáveis de ambiente para controlar o pyenv-virtualenv.
PYENV_VIRTUALENV_CACHE_PATH
, se definido, especifica um diretório para usar para armazenar em cache os arquivos de pacote baixados.VIRTUALENV_VERSION
, se definido, força Pyenv-virtualenv a instalar a versão desejada do VirtualEnv. Se virtualenv
não tiver sido instalado, o Pyenv-virtualenv tentará instalar a versão especificada do VirtualEnv.GET_PIP
, se o definido e venv
forem preferidos no virtualenv
, use get_pip.py
no local especificado.GET_PIP_URL
, se o definido e venv
forem preferidos no virtualenv
, faça o download get_pip.py
no URL especificado.PIP_VERSION
, se o definido e venv
for preferido no virtualenv
, instale a versão especificada do PIP.PYENV_VIRTUALENV_VERBOSE_ACTIVATE
, se definido, mostra algumas saídas detalhadas na ativação e desativaçãoPYENV_VIRTUALENV_PROMPT
, se definido, permite que os usuários personalizem como pyenv-virtualenv
modifica seu prompt de shell. O prompt padrão ("(venv)") é substituído por qualquer texto especificado pelo usuário. Especifique a localização do nome do ambiente virtual com a string {venv}
. Por exemplo, a string de prompt padrão seria ({venv})
. Veja Changelog.md.
(A licença do MIT)
É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, incluindo, sem limitação, os direitos de uso, copiar, modificar, mesclar .
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsabilizados por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações nos Software.