Ativando um virtualenv “sem as mãos”
Virtualenv é uma ferramenta fantástica e obrigatória (na minha opinião) para desenvolvimento em Python. Para facilitar ainda mais o processo de desenvolvimento um pacote essencial é o virtualenvwrapper: um “empacotador” (em tradução literal) que permite acessar facilmente os comandos shell relacionados ao ambiente virtual.
Todavia, mesmo com todas essas facilidades surge um problema para rodar aplicações isoladas num virtualenv em produção:
Como ativar automaticamente o ambiente virtual?
Para isso podemos usar o script activate_this.py
Podemos encontrá-lo no seguinte path:
~/.virtualenvs/<seu virtualenv>/bin/activate_this.py
O objetivo desse script é ativar o python do ambiente virtual em questão. Assim, seu ambiente terá acesso às libs necessárias para a sua aplicação rodar sem problemas.
Olha mãe: sem as mãos…!
Para usar o script adicione as linhas abaixo no arquivo que deve iniciar sua aplicação.
Se a sua aplicação rodar em linha de comando (como um serviço do Linux, por exemplo) as linhas abaixo devem ser colocadas no arquivo que inicia a aplicação. Caso seja uma aplicação web a inserção do código abaixo deve ser feita no script carregado pelo servidor web, o wsgi.py, por exemplo.
activate_this = '/path/to/env/bin/activate_this.py' execfile(activate_this, dict(__file__=activate_this))
Feito isso, reinicie o serviço ou o servidor web.
Pronto! Agora seu ambiente virtual pode ser iniciado automaticamente.
Referências:
Virtualenvwrapper – Read the docs: https://virtualenvwrapper.readthedocs.io/en/latest/
Deixe um comentário