dotenv em Python
Este artigo irá explicar o significado e o uso de dotenv
em Python.
O arquivo .env
é um arquivo individual que contém os valores-chave descritos acima para todas as variáveis ambientais necessárias em sua aplicação. O arquivo é armazenado localmente sem ser salvo no controle de origem, portanto, você não está colocando informações potencialmente confidenciais em risco.
O dotenv
é usado para ler o par de chave e valor do arquivo .env
e adicioná-lo à variável de ambiente. Podemos usá-lo para gerenciar as configurações do aplicativo durante as fases de desenvolvimento e produção, usando seu princípio de 12 fatores.
As variáveis de ambiente são estabelecidas em um arquivo semelhante ao UNIX dentro do diretório do projeto Python usando o módulo env
.
Para começar com o arquivo .env
, primeiro precisamos instalar a biblioteca dotenv
.
pip install python-dotenv
Usando dotenv
, nosso aplicativo pode carregar a configuração de um arquivo .env
quando presente (por exemplo, durante o desenvolvimento) enquanto retém a configuração baseada no ambiente.
Veja o seguinte exemplo.
from dotenv import load_dotenv
config = load_dotenv(".env")
No exemplo acima, usamos a função load_dotenv()
. A função dotenv_values()
funciona de forma semelhante a load_dotenv
. Ele retorna um dicionário com valores analisados do ambiente.
Por exemplo,
from dotenv import dotenv_values
config = dotenv_values(".env")
Também podemos carregar as variáveis de ambiente de uma rede em vez de um sistema de arquivos. Para isso, podemos usar a função StringIO()
do pacote io
para criar um objeto de fluxo.
Veja o seguinte código.
from io import StringIO
from dotenv import load_dotenv
config = StringIO("USER=abc\nEMAIL=abc@example.org")
load_dotenv(stream=config)
Também podemos usar a interface CLI dotenv
para manipular o arquivo .env
sem abri-lo manualmente.
Veja os comandos abaixo.
pip install "python-dotenv[cli]"
dotenv set USER abc
dotenv set EMAIL abc@example.org
dotenv run -- python abc.py