Onde colocar ambientes virtuais?

Onde colocar ambientes virtuais?

Haverá muitos ambientes virtuais no meu computador e eu gostaria de ter um local onde todos eles estivessem armazenados. De alguma forma $HOME, os subdiretórios não parecem bons; muito exposto. Alguma sugestão ou justificativa por que estou pensando errado?

Estou pensando em /var/venv/. Alguma ideia?

Responder1

Para venvs, você provavelmente os desejará em um subdiretório de $HOME para evitar problemas com restrições de segurança em dispositivos ou contêineres como o docker.

Observe as restrições neste arquivo:

/etc/apparmor.d/abstractions/python

Em teoria, você poderia colocá-los em /opt, mas os venvs são realmente específicos do usuário e são esperados no diretório inicial dos usuários. Local não é uma opção devido a outras restrições de distribuição e ao fato de que /usr é oficialmente considerado compartilhado em uma rede pelo LSB.

Pessoalmente, sigo uma versão modificada da estrutura golang.

~build/
       +$language/
                +bin/
                |    venv/
                |      |---Python2.7
                |      +---Python3.6
                +pkg
                +src/
                    |
                    +--- my_work/..
                    |          |---repo1
                    |          +---other_project
                    |
                    +-- external-repo.com/..

Isso facilita a localização e movimentação de conteúdo e é compatível com as restrições impostas pelos modelos de segurança, cgroups e outras restrições que se tornarão mais críticas à medida que os contêineres ganharem popularidade.

Lembre-se de que venvs foi originalmente planejado para estar contido no diretório de projetos. Embora a realidade das dependências principais do sistema operacional e as principais alterações de versão tenham aumentado seu uso, ainda é preferível mantê-los o mais próximo possível do pacote, processo ou usuário individual.

informação relacionada