Ultimas do CanalQb

Ubuntu VMS da Oracle - Python usar mais de um venv no services do Ubuntu

Mais de um Venv em services do Ubuntu
AirdropsQb



  • Criar um ambiente python:
python3 -m venv nome_do_ambiente

  • Ativar Ambiente:
source nome_do_ambiente/bin/activate

  • Vai precisar os modulos para cada ambiente:
pip install pacote_desejado

Ou dentro do arquivo você pode incluir um try-except:

import pip
try:
    import psutil
except ImportError:
    pip.main(['install', '--user', 'psutil'])
    import psutil

  • Desativar o ambiente:
deactivate


Exemplo de criação:
sudo nano /etc/systemd/system/venv1.service
sudo nano /etc/systemd/system/venv2.service

Insira no venv1.service:
[Unit]
Description=Venv1 Service

[Service]
User=<usuário>
WorkingDirectory=<caminho para o diretório do projeto venv1>
ExecStart=<caminho para o virtualenv>/bin/python <caminho para o arquivo principal do projeto venv1>

[Install]
WantedBy=multi-user.target

Insira no venv2.service:
[Unit]
Description=Venv2 Service

[Service]
User=<usuário>
WorkingDirectory=<caminho para o diretório do projeto venv2>
ExecStart=<caminho para o virtualenv>/bin/python <caminho para o arquivo principal do projeto venv1>

[Install]
WantedBy=multi-user.target


Comando para verificar se seu service está ativado para iniciar automaticamente:

systemctl list-unit-files --type=service

sudo systemctl enable seuservice.service 

 

 

Nenhum comentário

Comente só assim vamos crescer juntos!

Observação: somente um membro deste blog pode postar um comentário.