Onde colocar ambientes virtuais?

0

Haverá muitos ambientes virtuais no meu computador e gostaria de ter um local onde eles sejam armazenados. De alguma forma, $HOME e subdirs não parecem ser bons; exposto demais. Alguma sugestão ou justificativa porque eu estou errado?

Estou pensando em /var/venv/ . Alguma idéia?

    
por Dawid Laszuk 19.05.2017 / 20:40

1 resposta

0

Para os vovs, você provavelmente os desejará em um subdiretório de $ HOME para evitar problemas com restrições de segurança em apparmor ou em 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 o fato de / usr ser assumido oficialmente como compartilhado em uma rede pelo LSB.

Eu pessoalmente sigo uma versão modificada da estrutura do 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 a movimentação de conteúdo e é compatível com as restrições impostas pelos modelos de segurança; cgroups outras restrições que se tornarão mais críticas à medida que os contêineres ganharem popularidade.

Lembre-se de que os venvs eram originais e deveriam estar contidos no diretório de projetos. Embora as realidades nas principais dependências do sistema operacional e as principais alterações de versão tenham aumentado seu uso, ainda é preferível mantê-las o mais próximo possível do pacote, processo ou usuário individual.

    
por gdahlm 19.05.2017 / 22:27