Wymored Login

como fazer um script python usar o venv automaticamente

09 de janeiro de 2019 por Alexandre Miguel de Andrade Souza

O python permite que usemos o venv, que é uma configuração específica para um ou mais projetos. É como uma 'máquina virtual' em que você configura a versão do python e os pacotes que deseja.

Para usar com o python3, siga os seguintes passos (no ubuntu ou debian):

apt install python3-venv

No diretório do projeto, crie o ambiente:

python3 -m venv venv

Não esqueça de colocar o diretório no arquivo .gitignore, se usar o git. Dessa forma o git não irá versionar o diretório.

venv/

Crie um arquivo requirements.txt e coloque linha por linha os pacots python utilizados no projeto(exemplo):

aiopg
bcrypt
markdown
psycopg2-binary
tornado
python-slugify

Para fazer a instalação dos pacotes, ative primeiro o venv (sempre no diretório do projeto)

source venv/bin/activate

Instale os pacotes com o comando

pip install -r requirements.txt

com o venv ativado, podemos usar o script na forma

python meuscript.py

que ele usará o python e os pacotes do venv.

Mas a dica de ouro é que podemos evitar ter que ativar o venv toda vez que queremos usar o script, usando o shebang (primeira linha) abaixo:

#!/usr/bin/env python

e fazendo o arquivo ser executável:

chmod +x meuscript.py

Agora podemos usar o script chamando simplesmente:

./meuscript.py

ou

 sudo ./meuscript.py

que ele usará o venv automaticamente!