Blog

Postado em em 5 de maio de 2022

Variáveis de Ambiente no Python – O que São e Como Usá-las?

Hoje, eu quero te mostrar o que são as variáveis de ambiente no Python e como elas podem te ajudar na sua programação!

Caso prefira esse conteúdo no formato de vídeo-aula, assista aos vídeos abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

O Que São Variáveis de Ambiente no Python

Você já conhece as variáveis de ambiente e sabe como elas podem te auxiliar na sua programação?

Hoje, vou te mostrar como usar variáveis de ambiente no Python para que você tenha mais uma maneira de utilizar algumas informações sem ter que mostrá-las diretamente no seu código principal.

Vou te ensinar como usar a biblioteca dotenv junto com a biblioteca os, para que, dessa forma, você possa utilizar as variáveis de ambiente dentro do seu código Python.

As variáveis de ambiente e o gerenciamento delas com a biblioteca dotenv são uma forma muito eficiente e prática de atualizar as informações do seu código e transmitir dados entre sistemas.

Como Usar Variáveis de Ambiente no Python

Como o próprio nome já diz, as variáveis de ambiente são um tipo de variável que existe apenas naquele ambiente, ou seja, uma variável de ambiente criada no seu computador não estará disponível no computador de outra pessoa.

Isso é muito utilizado em servidores ou até mesmo quando você tem alguma chave ou token que não quer compartilhar e mostrar para qualquer pessoa.

Por exemplo, quando você tem uma chave de API ou alguma outra chave de segurança que não pode ser compartilhada, você pode declarar essa chave como uma variável de ambiente.

Assim, você pode compartilhar o seu código normalmente com outras pessoas sem que elas consigam visualizar essas informações.

Além disso, as variáveis de ambiente nos permitem editar configurações sem precisar reimplementar e reescrever o código (hard code), facilitando e agilizando os processos de mudanças e atualizações.

Um exemplo clássico é o link do banco de dados, que pode mudar dependendo do servidor ou local onde está hospedado.

Visualizando e Adicionando Variáveis de Ambiente – Biblioteca os

Diversos editores de código nos permitem criar e configurar variáveis de ambiente, como o PyCharm, VS Code, entre outros.

Utilizando a biblioteca os, podemos executar o comando print(os.environ) e visualizar todas as variáveis de ambiente que já existem no computador.

import os

print(os.environ)
Visualizando as variáveis de ambiente do seu computador

Além disso, é possível adicionar uma variável de ambiente de diferentes formas.

Dentro do PyCharm, você pode acessar OutrasIDEs, depois ir em Edit Configurations e clicar em Environment variables.

Opção para editar configurações
Variáveis de ambiente do PyCharm
Variáveis de ambiente do seu computador

Você vai notar que há diversas variáveis padrão do seu computador, e é aqui que você pode adicionar as suas variáveis de ambiente específicas.

Nessa janela, você pode tanto visualizar as variáveis de ambiente que já existem no seu computador quanto clicar no ícone de mais (+) para adicionar novas variáveis.

Um exemplo é criar uma variável de usuário e senha, lembrando que vamos utilizar um usuário e senha fictícios para demonstração.

import os
usuario = os.environ['usuario']
senha = os.environ['senha']

print(usuario, senha)
Testando as variáveis de ambiente no ambiente local

Repare que o comando os.environ + o nome da variável permite trazer e exibir os valores das variáveis criadas dentro do seu código Python.

Mas isso só vai funcionar no seu ambiente, pois foi aqui que você adicionou essas variáveis. Portanto, dentro do seu código isso funcionará normalmente.

Porém, caso você compartilhe o código com outra pessoa, ela não conseguirá visualizar o conteúdo dessas variáveis.

Outra opção para criar e adicionar suas próprias variáveis é através de um arquivo .env. Esse arquivo permite armazenar e adicionar suas próprias variáveis de ambiente.

Você pode criá-lo diretamente dentro do seu editor de código ou utilizando um arquivo de texto.

nome="lira"
senha="naoéaminhasenha"
Informações das variáveis no bloco de notas

Esse arquivo deve ficar salvo dentro da mesma pasta onde está o arquivo com o seu código, conforme mostrado no material disponível para download.

Biblioteca Python dotenv

Para poder ler esse arquivo .env e manipular as variáveis de ambiente criadas dentro dele, você precisará instalar a biblioteca python-dotenv.

pip install python-dotenv

Instalando dotenv

Feita a instalação, para utilizá-la basta importar a biblioteca dotenv para dentro do código.

No entanto, ao invés de importar toda a biblioteca, é mais comum e recomendado que você importe apenas a função load_dotenv().

A função load_dotenv() te permitirá buscar automaticamente pelo arquivo .env e ler as variáveis de ambiente definidas dentro dele.

from dotenv import load_dotenv

load_dotenv()

import os

print(os.environ["nome"])
print(os.environ["senha"])
função load_dotenv()

Depois de carregar a função load_dotenv(), podemos utilizar a biblioteca os para acessar os valores das variáveis de ambiente.

Valores de Variáveis de Ambiente

As variáveis de ambiente são sensíveis a maiúsculas e minúsculas, o que significa que “usuario” e “USUARIO” são consideradas variáveis diferentes.

Alterar o valor de uma variável de ambiente não requer edição do código. Os valores podem ser gerenciados diretamente dentro do arquivo .env.

Valores de Variáveis de Ambiente

Isso é extremamente útil porque, durante o processo de deploy, quando fazemos uma alteração no código principal, o sistema precisa sair do ar para ser atualizado corretamente.

Já ao alterar o valor de uma variável de ambiente, na maioria dos sistemas disponíveis para deploy como Amazon, Heroku, entre outros, você possui um acesso facilitado e simples para atualizar as variáveis de ambiente, sem precisar tirar seu sistema do ar.

Como Funcionam os Valores das Variáveis de Ambiente

Todos os valores que atribuímos a uma variável de ambiente dentro do arquivo .env podem ser declarados de forma direta. Não é necessário usar chaves para criar uma variável nem declarar seu valor entre aspas.

Se considerarmos as variáveis de ambiente abaixo:

USUARIO=admin
EMAIL=${USUARIO}@email.com

DEBUG=False
PORT=8000
TIMEOUT=30
DATABASE_URL="postgres://user:${USUARIO}@localhost:${PORT}/mydatabase"
DATABASE_URL_FIXO='postgres://user:${USUARIO}@localhost:${PORT}/mydatabase'

E acessarmos o tipo de uma delas dentro do nosso código Python, veremos que elas são tratadas como strings, mesmo que representem um número ou valores booleanos.

from dotenv import load_dotenv

import os

load_dotenv()

print(os.getenv("DEBUG"))
print(type(os.getenv("DEBUG")))
Tipo de variável de ambiente

Para que essa variável seja de fato tratada como uma booleana, precisamos utilizar a função eval() do Python.

from dotenv import load_dotenv

import os

load_dotenv()

print(os.getenv("DEBUG"))
print(type(os.getenv("DEBUG")))

debug = eval(os.getenv("DEBUG"))

print(debug)
print(type(debug))
Variável após função eval

Uso de Variáveis nas Variáveis de Ambiente

Uma outra funcionalidade interessante dentro das variáveis de ambiente é o uso de variáveis dentro delas.

Por exemplo, a variável de ambiente EMAIL depende da variável USUARIO para ser definida.

Para utilizar uma variável dentro das variáveis de ambiente, basta utilizá-la entre chaves e com um cifrão na frente.

USUARIO=admin

EMAIL=${USUARIO}@email.com

Dessa forma, os arquivos .env entenderão que essa é uma variável que deve ser substituída pelo valor da variável que foi declarada anteriormente.

Usando Aspas nas Variáveis de Ambiente

Embora não seja necessário usar aspas para variáveis simples, quando trabalhamos com links ou textos com espaços/caracteres especiais, as aspas são necessárias para delimitar corretamente o valor da variável dentro do arquivo .env.

DATABASE_URL="postgres://user:${USUARIO}@localhost:${PORT}/mydatabase"

DATABASE_URL_FIXO='postgres://user:${USUARIO}@localhost:${PORT}/mydatabase'

As aspas funcionam como delimitadores para definir claramente o início e fim do valor da variável. Todas as variáveis podem ser colocadas entre aspas sem problemas.

No entanto, para textos multilinhas ou com caracteres especiais, o uso das aspas é fundamental e evita confusões com comandos dentro do arquivo .env.

Além disso, observe que podemos utilizar aspas simples e duplas. A diferença principal entre elas é que as aspas duplas interpretam caracteres especiais como \n, enquanto as aspas simples tratam tudo como texto cru.

Você pode conferir mais informações sobre a biblioteca dotenv acessando a documentação oficial:

Conclusão – Variáveis de Ambiente no Python – O que São e Como Usá-las?

Nessa aula, eu te mostrei o que é uma variável de ambiente no Python e como você pode utilizá-la no código para colocar informações importantes sem que outras pessoas possam ver.

Agora você sabe para que servem as variáveis de ambiente no Python e como utilizá-las para colocar informações que não quer mostrar e ainda poder compartilhar seu código normalmente.

Dessa forma, suas informações confidenciais não ficam à mostra e você não precisa se preocupar em lembrar de tirar uma informação, pois às vezes isso acaba acontecendo e não é isso que você quer!

Isso é muito importante para não mostrar senhas ou chaves de APIs que são importantes e não podem ser compartilhadas. Assim, você pode criar seus códigos e compartilhá-los sem se preocupar com que os outros vejam suas informações!

Para se aprofundar ainda mais no uso do Python e suas aplicações, recomendo o curso de Python completo e online da Hashtag Treinamentos, que irá expandir seus conhecimentos e ajudá-lo a dominar a linguagem!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes da Hashtag Treinamentos