Код: Выделить всё
OPENAI_API_KEY=sk-xxxx
GOOGLE_API_KEY=AIzaSyxxxx
API_KEY=your-secure-api-key-here
PORT=8000
< /code>
[list]
[*] Код для загрузки и печати переменных ENV: < /li>
< /ul>
from dotenv import load_dotenv
from pathlib import Path
import os
env_path = Path(__file__).parent / ".env"
load_dotenv(dotenv_path=env_path)
print("Loaded environment variables from .env:")
if env_path.exists():
with open(env_path) as f:
for line in f:
line = line.strip()
if line and not line.startswith("#") and "=" in line:
key = line.split("=", 1)[0]
print(f" {key} = {os.getenv(key)}")
else:
print(f".env file not found at {env_path}")
< /code>
Когда я запускаю приложение, все переменные печатают правильно, кроме API_KEY, который представляет собой jsdnfasdfiejaklmcasljrlkjjh323jcksdfjk < /code>. < /li>
< /ul>
< /h2>
< /h2>
< /h2>
< /h2>. /> Проверенный .env находится в правильном каталоге. < /li>
Перезагрузил сервер после редактирования .env. < /li>
ran echo $ api_key в моем терминале (он пуст). Если я запускаю это обычно, неверное значение возвращается. />python-dotenv
[/list]
Running with uvicorn server:app --reload
Work around
Used load_dotenv(dotenv_path=env_path, override=True)
Подробнее здесь: https://stackoverflow.com/questions/797 ... es-load-fi