executando o aplicativo flask de python com ambiente virtual (VENV) no VPS em segundo plano

1

Estou tentando executar um aplicativo de balão no meu VPS no ambiente de produção. O problema é que não posso alterar nenhum dos pacotes VPS e ele usa um interpretador python3.5 como padrão. A versão necessária para o meu aplicativo funcionar é python3.6 ou mais.

A solução foi usar um ambiente virtual para disponibilizar as dependências necessárias sem tocar no sistema operacional.

minha pergunta é como ativar venv e executar meu aplicativo de balão de forma de serviço (iniciar e parar). os comandos que uso para iniciar meu aplicativo são simples:

source venv/bin/activate
FLASK_APP=app.py flask run --host 0.0.0.0  

Nota: Meu VPS roda o Ubuntu 18.04 LTS.

    
por Kaki Master Of Time 19.10.2018 / 11:59

1 resposta

1

Eu encontrei uma solução, que é Usar o link simbólico criado pela adição do ambiente virtual da versão python que eu preciso.

então, tendo

ExecStart=/root/project/venv/bin/python3.6 -m flask run

e especificando a variável de ambiente:

Environment=FLASK_APP=app.py

também o diretório de trabalho (necessário para reconhecer o app.py)

tudo em um arquivo de serviço systemd fez o truque.

    
por 22.10.2018 / 14:57