Hub documentation
Dash в Spaces
Dash в Spaces
С помощью Dash Open Source вы можете создавать приложения для работы с данными на своём ноутбуке на чистом Python, без необходимости использовать JavaScript.
Освойте Dash, создав пример приложения с использованием open source. Переходите на Dash Enterprise, когда ваше приложение Dash будет готово к использованию в масштабе отдела или всей компании. Либо начинайте свой проект сразу с Dash Enterprise, чтобы повысить производительность разработчиков и получить практическую поддержку от команды Plotly.
Развертывание Dash на Spaces
Чтобы начать работу с Dash на Spaces, нажмите кнопку ниже:
Это запустит сборку вашего Space с использованием Docker-шаблона Dash от Plotly. Если всё пройдёт успешно, вы увидите приложение, похожее на приложение по шаблону Dash.
Настройка вашего приложения Dash
Если вы никогда раньше не работали с Dash, мы рекомендуем начать с нашего туториала «Dash за 20 минут».
При создании Dash Space вы получите несколько ключевых файлов, которые помогут вам начать работу:
1. app.py
Это основной файл приложения, в котором определяется базовая логика вашего проекта. Приложения Dash часто структурируются как модули, и при необходимости вы можете вынести разметку, колбэки и данные в другие файлы, например layout.py и т. д.
Внутри app.py вы увидите:
from dash import Dash, htmlМы импортируем объектDashдля определения нашего приложения, а также библиотекуhtml, которая предоставляет нам строительные блоки для сборки проекта.app = Dash()Здесь мы определяем наше приложение. Layout, server и callbacks привязаны к объектуapp.server = app.serverЗдесь мы определяем переменную сервера, которая используется для запуска приложения в продакшене.app.layout =Начальный макет приложения определяется как список компонентов Dash, отдельный компонент Dash или функция, возвращающая одно из этих значений.app.layout— это начальная раскладка, которая будет обновляться как одностраничное приложение с помощью колбэков и другой логики в вашем проекте.if __name__ == '__main__': app.run(debug=True)Если вы запускаете проект локально с помощьюpython app.py, тоapp.run(...)выполнится и запустит сервер разработки для работы над проектом, предоставляя такие функции, как горячая перезагрузка, граф колбэков и другие.В продакшене мы рекомендуем
gunicorn— это сервер промышленного уровня. Функции отладки не будут включены при запуске вашего проекта сgunicorn, поэтому эта строка никогда не будет выполнена.
2. Dockerfile
Dockerfile для приложения Dash минимален, так как у Dash мало системных зависимостей. Ключевые требования:
- Он устанавливает зависимости, перечисленные в
requirements.txt(с помощьюuv) - Создаёт непривилегированного пользователя в целях безопасности
- Он запускает приложение с помощью
gunicorn, используяgunicorn app:server --workers 4
Возможно, вам потребуется изменить этот файл, если вашему приложению требуются дополнительные системные зависимости, разрешения или другие флаги CLI.
3. requirements.txt
Space автоматически установит зависимости, перечисленные в файле requirements.txt. В этом файле необходимо указать как минимум dash и gunicorn. Также добавьте все остальные пакеты, необходимые для вашего приложения.
Шаблон Dash Space обеспечивает базовую настройку, которую вы можете расширить в соответствии со своими потребностями.
Дополнительные ресурсы и поддержка
- Документация Dash
- Репозиторий Dash на GitHub
- Форумы сообщества Dash
- Dash Enterprise
- Пространство шаблона Dash
Устранение неполадок
Если вы столкнулись с проблемами:
- Убедитесь, что ваш ноутбук запускается локально в режиме приложения с помощью
python app.py - Убедитесь, что все необходимые пакеты перечислены в
requirements.txt - Убедитесь, что конфигурация порта совпадает (7860 — это порт по умолчанию для Spaces)
- Проверьте журналы Space на наличие ошибок Python
За дополнительной помощью обращайтесь на форум сообщества Plotly или создайте issue.
Update on GitHub