Estou confuso sobre onde devo colocar meu virtualenvs.
Com meu primeiro projeto de django, criei o projeto com o comando
django-admin.py startproject djangoproject
Em seguida, fiz cd para o diretório djangoproject e executei o comando
virtualenv env
que criou o diretório do ambiente virtual no mesmo nível do djangoproject
diretório interno .
Este é o lugar errado para criar o virtualenv para este projeto específico?
Estou tendo a impressão de que a maioria das pessoas mantém todos os seus virtuaisenvs juntos em um diretório totalmente diferente, por exemplo ~/virtualenvs
, e usam o virtualenvwrapper para alternar entre eles.
Existe uma maneira correta de fazer isso?
Alterar a localização do diretório virtualenv o quebra
Esta é uma vantagem de colocar o diretório fora da árvore do repositório, por exemplo, em
~/.virtualenvs
comvirutalenvwrapper
.Caso contrário, se você mantê-lo na árvore do projeto, mover a localização do projeto interromperá o virtualenv.
Veja: Renomeando uma pasta virtualenv sem quebrá-la
Existe,
--relocatable
mas sabe-se que não é perfeito.Outra vantagem secundária: você não precisa
.gitignore
.As vantagens de colocá-lo gitignored na própria árvore do projeto são:
fonte
O local geralmente aceito para colocá-los é o mesmo local em que a instalação padrão do virtualenvwrapper os coloca:
~/.virtualenvs
Relacionado: virtualenvwrapper é uma excelente ferramenta que fornece atalhos para os comandos virtuaisenv comuns. http://www.doughellmann.com/projects/virtualenvwrapper/
fonte
Se você usar
pyenv install Python
, pyenv-virtualenv será uma prática recomendada. Se definir o.python-version
arquivo, ele pode ativar ou desativar automaticamente o ambiente virtual quando você mudar a pasta de trabalho.Pyenv-virtualenv
também coloque todos os env virtuais na$HOME/.pyenv/versions
pasta.fonte
Pela minha experiência pessoal, eu recomendaria organizar todos os ambientes virtuais em um único diretório. A menos que alguém tenha memória extremamente nítida e possa lembrar de arquivos / pastas espalhados pelo sistema de arquivos. Não é um grande fã de usar outras ferramentas apenas para gerenciar ambientes virtuais. No VSCode, se eu configurar (
python.venvPath
) o diretório contendo todos os ambientes virtuais, ele pode reconhecer automaticamente todos eles.fonte