É virtualenv adequado para um servidor de produção?

15

Estou planejando configurar um aplicativo Python ( Pyblosxom ) no meu servidor e considerando executá-lo em seu próprio sandbox virtualenv com --no-site-packages . Espero que essa configuração seja facilmente transportável e sustentável ao longo dos anos.

No entanto, usei apenas o virtualenv para ambientes de desenvolvimento que recriam uma determinada configuração de servidor localmente, e a maioria das fontes sobre o virtualenv também mencionam o virtualenv para tal uso.

Existe alguma desvantagem em executar um aplicativo Python de um virtualenv em um servidor ativo?

NOTA: Quanto à portabilidade da configuração, acabei de tomar conhecimento da opção experimental --relocatable que precisa ser executada após novas instalações de pacotes. Mesmo que eu não tenha feito isso, acho que a configuração seria bem portátil graças ao pip.

    
por gnufs 09.04.2012 / 01:05

1 resposta

15

Sim, um virtualenv é bastante adequado para produção - temos clientes (muito) grandes usando Python executando seus aplicativos dentro de um virtualenv, e funciona muito bem para mantê-los isolados da configuração do sistema Python.

No entanto, eu não recomendaria usá-lo para "portabilidade" - tentando transportar tudo de uma máquina para outra. Há muitas oportunidades para falhas sutis devido a incompatibilidades que ninguém mais vai notar (porque não é algo que é amplamente feito). Em vez disso, tenha uma automação capaz de configurar um novo virtualenv que corresponda aos seus requisitos em uma nova máquina.

    
por 09.04.2012 / 02:26