Будет много виртуальных сред на моем компьютере, и я хотел бы иметь место, где они все хранятся. Так или иначе $HOME
и subdirs, кажется, не хорош; слишком выставленный. Какие-либо предложения или выравнивания, почему я думаю неправильно?
Я думаю о /var/venv/
. Какие-либо мысли?
Для venvs Вы, вероятно, захотите, чтобы они в подкаталоге $HOME избежали проблем с ограничениями безопасности в apparmor или контейнерах как докер.
Примечание ограничения в этом файле:
/etc/apparmor.d/abstractions/python
В теории Вы могли поместить их в/, выбирают, но venvs являются действительно конкретным пользователем и ожидаются в пользовательском корневом каталоге. Локальный не опция из-за других ограничений распределения и того, что/usr, официально принимают, чтобы быть совместно использованным в сети LSB.
я лично следую за измененной версией golang структуры.
~build/
+$language/
+bin/
| venv/
| |---Python2.7
| +---Python3.6
+pkg
+src/
|
+--- my_work/..
| |---repo1
| +---other_project
|
+-- external-repo.com/..
Это помогает найти и переместить содержание, и это совместимо с ограничениями, установленными моделями обеспечения безопасности, cgroups другие ограничения, которые станут более очень важными, поскольку контейнеры завоевывают популярность.
Помнят, что venvs были исходными, намеревался содержаться в рамках каталога проектов. В то время как факты на базовых зависимостях ОС и существенных изменениях версии увеличили свое использование, все еще предпочтительно сохранить их максимально близко к отдельному пакету, процессу или пользователю.