Streamlit Python 应用程序成功部署到 Heroku,但出现应用程序错误

时间:2021-04-02 19:43:22

标签: python heroku word-cloud streamlit

所以我想在 heroku 上部署一个 Streamlit Python 应用程序,部署成功,但是当我打开应用程序时,它给了我一个应用程序错误

the error

对于初学者来说,这是我的需求文件:

wordcloud==1.8.1
xlrd<2.0
pandas<1.2.3
numpy<1.20.1
streamlit==0.79.0
Pillow==8.2.0

这是我的 Procfile 文件:

web: sh setup.sh && streamlit run suite.py

我也做了安装文件,我按照这个视频的每一步:https://youtu.be/nJHrSvYxzjE 当我执行此命令时:

heroku logs --tail

我明白了:

2021-04-02T19:26:55.000000+00:00 app[api]: Build started by user 
2021-04-02T19:27:52.901079+00:00 app[api]: Release v5 created by user 
2021-04-02T19:27:52.901079+00:00 app[api]: Deploy 7ca73902 by user 
2021-04-02T19:28:18.000000+00:00 app[api]: Build succeeded
2021-04-02T19:28:35.572192+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=wordcloudpython.herokuapp.com r
equest_id=28e8c410-53ba-42a2-86ed-dfac2162d53f fwd="160.179.71.151" dyno= connect= service= status=503 bytes= protocol=https

这是我第一次使用 heroku,对此我还很陌生。

3 个答案:

答案 0 :(得分:0)

您的需求文件命名正确吗? 你能分享一下你的 setup.sh 文件的内容吗?

如果所有命名都正确,它就没有理由不工作。

答案 1 :(得分:0)

  1. 这听起来可能是一样的,但大多数时候错误是因为不包括 requirements.txt 文件中的所有软件包。

最近发生在我身上:我需要使用一些需要我安装 Scipy 的图。我什至不需要导入 scipy,我只需要将它安装为一个依赖项,所以我没有将它包含在我的需求文件中,它破坏了部署。因此,我强烈建议再次仔细检查此类情况。

  1. Heroku 的另一种替代方法是使用Streamlit 共享部署您的应用程序。了解更多信息here。它非常易于使用,不需要您安装任何东西。您需要做的就是提供源代码所在的 github 存储库链接/名称。

PS:注册后,您需要等待几个小时才能访问流媒体共享,并留意您的垃圾邮件文件夹以防万一。

答案 2 :(得分:0)

H14 – 没有 web dynos 运行 HTTP 503 表示“服务当前不可用”。请注意,可以自定义 Heroku 路由器错误页面。这些仅适用于应用程序不响应请求的错误,例如503. 解决方案:使用heroku ps:scale 命令启动应用程序的Web 服务器。

你可以试试这个命令来强制 Heroku 启动一个 web dyno

$ heroku ps:scale web=1
相关问题