O virtualenv é adequado para um servidor de produção?


15

Estou planejando configurar um aplicativo Python ( Pyblosxom ) no meu servidor e considerando executá-lo em sua própria caixa de proteção virtualenv com --no-site-packages. Espero que essa configuração seja facilmente portátil e sustentável ao longo dos anos.

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

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

NOTA: Quanto à portabilidade da instalação, acabei de tomar conhecimento da --relocatableopção experimental que precisa ser executada após a instalação de novos pacotes. Mesmo se eu não fizesse isso, acho que a instalação seria bastante portátil, graças ao pip.

Respostas:


15

Sim, um virtualenv é bastante adequado para produção - temos clientes (muito) grandes em Python executando seus aplicativos dentro de um virtualenv e funciona muito bem para mantê-los isolados da configuração do sistema em 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 notará (porque não é algo amplamente feito). Em vez disso, tenha automação capaz de configurar um novo virtualvv que atenda aos seus requisitos em uma nova máquina.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.