Pull to refresh
9
0
Андрей @AndreyPhys

Пользователь

Send message

Переменные окружения для Python проектов

Reading time4 min
Views150K

Переменные окружения для Python проектов


При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной системе контроля версий это очень плохая идея.


# Плохая практика. Не делай так.
API_KEY = 'very_secret_password'

Конфигурационные файлы


Самый простой путь решения данной проблемы, это создание отдельного конфигурационного файла со всей чувствительной информацией и добавление его в .gitignore. Минус такого подхода в том, что в гит нужно держать ещё и шаблон конфигурационного файла и не забывать его периодически обновлять.


# Уже лучше.
from config import API_KEY
app = Flask(__name__)
app.config['API_KEY'] = API_KEY

Переменные окружения


Более продвинутый подход, это использование переменных окружения. Переменные окружения это именованные переменные, содержащие текстовую информацию, которую могут использовать запускаемые программы. Например, чтобы запустить flask-приложение, вначале нужно указать в переменной окружения FLASK_APP имя нашего приложения:


$ export FLASK_APP=hello.py
$ flask run
 * Running on http://127.0.0.1:5000/
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments12

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity