304 читали · 5 лет назад
dotenv: храним токены отдельно от кода
Взаимодествие с API (например, при разработке ботов или получении информации) часто подразумевает использование всевозможных токенов. Хранить их прямо в коде - не лучшая идея со всех точек зрения: это неудобно, непрактично, а главное, небезопасно. Один из очевидных спосбов избежать этой проблемы - использовать переменные окружения для их хранения. Для Python существует достаточно большое количество библиотек, позволяющих использовать этот прием. Одна из таких библиотек - python-dotenv. Она позволяет в пару строчек кода вытаскивать все нужные ключи из предварительно созданного ...
1 год назад
Сегодня расскажу про dotenv – это популярный инструмент в мире разработки, используемый для управления данными, такими как конфигурационные настройки, безопасно и удобно. Особенно полезен при разработке приложений на Python. Установить можно так: python3 -m pip install python-dotenv Основные моменты, которые стоит знать о dotenv: 1⃣dotenv позволяет хранить конфигурационные данные, такие как пароли, токены API, строки подключения к базам данных и другие секретные ключи, в отдельном файле. Обычно этот файл называется .env 2⃣Хранение конфигурационной информации вне исходного кода улучшает безопасность. Это предотвращает случайное включение секретных ключей в исходный код, который может быть доступен в репозиториях или публичных местах 3⃣dotenv позволяет легко загружать и использовать эти конфигурации в коде Python. При запуске приложения конфигурационные данные из файла .env автоматически загружаются в переменные окружения, которые затем можно использовать в коде 4⃣На сервере можно иметь разные файлы .env для разных окружений (разработка, тестирование, продакшн), что позволяет легко управлять настройками для каждого окружения без необходимости изменять код 5⃣dotenv также удобен в облачных и контейнеризированных средах (например, Docker), где управление конфигурационными переменными и секретами является ключевым аспектом Пример: Создайте файл .env в корневом каталоге вашего проекта и добавьте в него API-ключ: API_KEY=ваш_секретный_api_ключ Код: from dotenv import load_dotenv import os # Загружаем переменные окружения load_dotenv() # Используем переменные окружения api_key = os.getenv('API_KEY') print(f"Мой API ключ: {api_key}") Таким образом, вы безопасно храните важные данные в .env файле, а dotenv помогает загрузить эти данные в ваше приложение. В следующем примере я покажу, как можно создать виртуальную среду, в которой можно создать службу systemd, которая будет запускать бота для Telegram #бот #telegram #dotenv