Hub documentation

Dash в Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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 вы увидите:

  1. from dash import Dash, html Мы импортируем объект Dash для определения нашего приложения, а также библиотеку html, которая предоставляет нам строительные блоки для сборки проекта.

  2. app = Dash() Здесь мы определяем наше приложение. Layout, server и callbacks привязаны к объекту app.

  3. server = app.server Здесь мы определяем переменную сервера, которая используется для запуска приложения в продакшене.

  4. app.layout = Начальный макет приложения определяется как список компонентов Dash, отдельный компонент Dash или функция, возвращающая одно из этих значений.

    app.layout — это начальная раскладка, которая будет обновляться как одностраничное приложение с помощью колбэков и другой логики в вашем проекте.

  5. 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 обеспечивает базовую настройку, которую вы можете расширить в соответствии со своими потребностями.

Дополнительные ресурсы и поддержка

Устранение неполадок

Если вы столкнулись с проблемами:

  1. Убедитесь, что ваш ноутбук запускается локально в режиме приложения с помощью python app.py
  2. Убедитесь, что все необходимые пакеты перечислены в requirements.txt
  3. Убедитесь, что конфигурация порта совпадает (7860 — это порт по умолчанию для Spaces)
  4. Проверьте журналы Space на наличие ошибок Python

За дополнительной помощью обращайтесь на форум сообщества Plotly или создайте issue.

Update on GitHub