Найти в Дзене
Машинное обучение

Развертывание веб-приложения с Streamlit Sharing

Оглавление
Изображение предоставлено Кристофером Гауэром на UnsplashХостинг изначально в Streamlit, больше никаких сторонних решений!
Изображение предоставлено Кристофером Гауэром на UnsplashХостинг изначально в Streamlit, больше никаких сторонних решений!

Возможно, вы читали этот пост. с инструкциями о том, как разместить созданное веб-приложение. со Streamlit с использованием Heroku. Но теперь это еще проще!

Streamlit недавно представила свое новое собственное решение для размещения веб-приложений Streamlit. В настоящее время он находится в стадии бета-тестирования, но вы можете отправить сообщение разработчикам, чтобы получить доступ к размещение до трех приложений (пока это только бета-лимит). Как только у вас будет доступ, развертывание приложения невероятно просто!

Давайте поработаем по шагам!

Войдите, используя свой адрес электронной почты GitHub

Вам понадобится учетная запись Streamlit с тем же адресом электронной почты, что и ваша учетная запись GitHub. Это потому что Streamlit автоматически заполнит более поздние поля, используя информацию из вашего репозиториев, чтобы максимально упростить развертывание. Вы можете найти основной адрес электронной почты для своей учетной записи, перейдя в настройки GitHub. и найдя вкладку "Электронная почта".

файл "requirements.txt"

Как и в предыдущем руководстве, вам понадобится файл requirements.txt, который сообщает Streamlit, версии ваших пакетов должны работать стабильно. Вот весь мой файл, просто определяющий версию Streamlit и Scikit-Learn, которая мне нужна для моей модели на бэкэнде.

-2

Развернуть!

Пора развертывать! Вы увидите страницу, которая выглядит так.

Это основная целевая страница для развертывания.
Это основная целевая страница для развертывания.

Итак, мы уточним здесь несколько вещей. Но вы заметите, что эти поля автоматически заполняются из вашего GitHub, включая все общедоступные репозитории, любые их ветки и файлы .py, которые должны быть развернут (по умолчанию будет "streamlit_app.py", но в раскрывающемся списке будут указаны ваши фактические имена файлов).

Укажите репо, которое будет размещено.
Укажите репо, которое будет размещено.

Я выберу свое репозиторий Diabetes_Hospitalizations, в котором уже есть файл requirements.txt. из моего проекта на Heroku. На данный момент я использую только свою ветку Master, но я бы рекомендую разместить развертывание в отдельной ветке.

Укажите основной файл .py для развертывания.
Укажите основной файл .py для развертывания.

Вы можете увидеть «web_app.py» в раскрывающемся списке основного пути к файлу.

ПРИМЕЧАНИЕ: вам следует удалить начальные символы «/» из пути к основному файлу. Это небольшая ошибка в момент, потому что раскрывающийся список репо будет заканчиваться символом «/», а затем файл будет иметьдва ‘//’, вызывающих ошибку.

Посетите и попробуйте

После размещения вы увидите что-то подобное во время инициализации. Левая половина это веб-приложение, а справа - развертывание серверной части. Вы можете свернуть это поле с помощью нижней стрелка (конечные пользователи ее никогда не увидят). Если есть проблема в развертывания, здесь будут сообщаться о любых ошибках, и вы можете скачать журнал.

Главная страница приложения после развертывания.
Главная страница приложения после развертывания.

Это также автоматически сгенерирует URL-адрес, на котором размещен проект, чтобы вы могли поделиться им!

Каждое приложение имеет 1 ЦП, 800 МБ ОЗУ и 800 МБ памяти.

Управление вашими приложениями

После входа в Streamlit на этой панели управления отображаются развернутые приложения. Вы можете перезагрузить или удалить экземпляр или развернуть новое приложение (опять же, текущий предел 3 проекта для беты). Здесь также указан стабильный URL-адрес, если вы его потеряете.

Панель управления для всех приложений.
Панель управления для всех приложений.

Как и все приложения Streamlit, вы можете постоянно обновлять свое приложение, изменяя файл .py на GitHub.После внесения изменений вы можете вручную обновить размещенное приложение из меню на сайте. Полную документацию по совместному использованию см. В документации для разработчиков. https://docs.streamlit.io/en/stable/deploy_streamlit_app.html

Заключение

Streamlit упростил развертывание веб-приложений с помощью встроенного Streamlit Sharing решение. Вам больше не нужно обращаться к сторонним решениям, таким как Heroku, для простого хостинга. Опять же, функция все еще находится в стадии бета-тестирования, поэтому, если вы хотите попробовать ее, свяжитесь с разработчиков на сайте Streamlit.

Вы можете проверить мое размещенное приложение и использовать мое репозиторий GitHub в качестве руководства, чтобы не нужно начинать с нуля!Кроме того, форумы Streamlit - отличный ресурс и разработчики обычно очень быстро реагируют.

Удачной работы!

Подключить