Para aplicativos Django, Adam Bard recomenda localizar seu virtualenv em /opt/apps/<appname>-env
e seu aplicativo em /opt/apps/<appname>-env/site
. (Muito obrigado a don.joey pelo excelente link.)
Ligeiramente não relacionado, eu também encontrei os Anti-padrões de Implantação do Python de Hynek Schlawack e Implementação do aplicativo Python com pacotes nativos para ser útil.
Com base nisso, minha própria análise do Padrão de hierarquia do sistema de arquivos e uma inspeção da pasta /opt
no meu máquina de mesa, eu fui com:
-
/opt/virtualenv/<env_name>
para o ambiente virtual -
/opt/<vendor_name>/<app_name>
para a pasta de aplicativos do servidor
Isso me permite criar vários virtualenvs independentes e pastas de aplicativos para diferentes aplicativos, versões, etc., conforme entender.