在Heroku上发布Web应用程序以查看使用Streamlit创建的数据


总览

  • 上次,我能够使用Streamlit创建一个Web应用程序

  • 我们发布它是因为这很重要
  • 所以,我做了→巧克力球查看器

前提

  • 在heroku上创建一个帐户(免费确定)
  • 我有一个github帐户

应用程式建立

参照此内容创建一个应用程序。本文不涉及Streamlit表示法。

1
$ streamlit run [python-file]

中,确认已按预期创建了该应用程序。

部署到heroku

这是本文的主要部分。
步骤概述如下。

  • 准备Heroku部署所需的文件
  • 在heroku上创建一个应用
  • 部署
  • 让我们检查一下自动部署
  • 准备必要的文件

    您需要以下两个文件才能在heroku上发布python应用程序。

    • 程序文件

      • 编写执行命令
    • requirements.txt

      • 写下必要的库等。

    这足够了,但是让我们创建一个脚本来创建精简配置文件。它指定端口号,依此类推。 (可以将其指定为Procfile中的启动选项)

    • setup.sh

    有人将它们放在一起并创建了一个模板,用于在heroku上发布Streamlit应用程序。
    https://github.com/patryk-oleniuk/streamlit-heroku-template

    这次我做到了。几乎是从streamlit-heroku-template复制的。

    Procfile

    1
    web: sh setup.sh && streamlit run src/choco_view.py

    requirements.txt(更安全的版本)

    1
    2
    3
    4
    5
    6
    pylint
    pandas
    scipy
    matplotlib
    seaborn
    streamlit

    setup.sh

    1
    2
    3
    4
    5
    6
    mkdir -p ~/.streamlit/
    echo "[server]
    headless = true
    port = $PORT
    enableCORS = false
    " > ~/.streamlit/config.toml

    将它们放在一起并将其推送到github。私人存储库也可以。

    在heroku

    上创建应用

    您也可以使用CLI使用命令创建heroku应用程序(heroku教程是CLI),但是如果要链接到github存储库,则可以从Web管理屏幕上轻松实现。这次,我将通过Web创建它。

    从右上角的"创建新应用"中设置服务名称,然后单击"创建应用"。

    スクリーンショット 2021-01-15 11.27.25.png

    仅此

    部署

    create将选择部署方法。这次,选择" GitHub"选项卡并指定要链接的存储库。

    スクリーンショット 2021-01-20 0.01.10.png

    如果可以链接,它将过渡到部署屏幕。

    在这里,如果按"启用自动部署"以启用自动部署,则如果链接的GitHub存储库的指定分支中有更新,它将自动部署。

    准备好后,从"手动部署"菜单中按"部署分支"以开始部署。

    确认自动部署

    让我们更新数据并将其推送到github。

    如果查看

    heroku的管理屏幕,则可以看到它已部署(有趣)。

    做到了

    我将巧克力球数据作为一种爱好进行测量,因此我发布了一个可视化测量数据的应用程序(有关详细信息,请参阅巧克力球统计信息)。
    https://chocolate-view.herokuapp.com/

    可以选择风味

    ezgif.com-gif-maker.gif

    模拟达到银色天使所需的购买次数

    ezgif.com-gif-maker (3).gif

    结束

    参考

    • 在几分钟内将您的ML项目显示到Internet
    • streamlit-heroku-template
    • 我制作了一个用于查看巧克力球测量数据的数据查看器