Python: Gerir variáveis de ambiente

Esta documentação faz parte do guia Criar uma API REST. Consulte o guia completo aqui: Como criar uma API REST usando Flask.

👋 Bem-vindo à documentação do Stackhero!

Stackhero oferece uma solução cloud Python pronta a usar que proporciona uma série de benefícios, incluindo:

  • Implemente a sua aplicação em segundos com um simples git push.
  • Utilize o seu próprio nome de domínio e beneficie da configuração automática de certificados HTTPS para uma segurança reforçada.
  • Desfrute de tranquilidade com backups automáticos, atualizações com um clique, e preços simples, transparentes e previsíveis.
  • Obtenha performance ótima e segurança robusta graças a uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: só leva 5 minutos para experimentar a solução de hospedagem cloud Python do Stackhero!

As variáveis de ambiente são vitais para proteger informações sensíveis, como credenciais de base de dados ou chaves de API. Existem dois principais benefícios em usar variáveis de ambiente:

  1. Os seus segredos não são armazenados no seu repositório Git, garantindo que pessoas não autorizadas não possam aceder aos seus dados sensíveis, mesmo que acedam ao seu código-fonte.
  2. Pode usar credenciais diferentes para diferentes ambientes (por exemplo, produção versus desenvolvimento).

Para gerir variáveis de ambiente, usamos o módulo python-dotenv. Primeiro, instale-o se ainda não o fez:

pip install python-dotenv
pip freeze > requirements.txt

Em seguida, crie um ficheiro .env na raiz do seu projeto e adicione as suas variáveis de ambiente de desenvolvimento. Por exemplo:

ENV="development"
DATABASE_PASSWORD="secretPassword"
THIRD_API_PRIVATE_KEY="secretKey"

Finalmente, adicione o ficheiro .env ao seu .gitignore para manter a segurança:

echo ".env" >> .gitignore

Para aceder a estas variáveis de ambiente em Python, basta usar os.environ.get():

import os

print(os.environ.get('ENV'))

O ficheiro .env é usado apenas para o ambiente de desenvolvimento. Para staging ou produção, defina as variáveis de ambiente no painel de controlo Stackhero na configuração do seu serviço Python.