记录部署 streamlit 应用时遇到的一个坑(配置文件中 headless 需设置为 true)

问题描述

部署 streamlit 应用失败,日志信息如下:

[manager] Processed dependencies!

[manager] The service has encountered an error while checking the health of the Streamlit app: Get "http://localhost:8501/healthz": dial tcp 127.0.0.1:8501: connect: connection refused

[manager] Streamlit server consistently failed status checks

[manager] Please fix the errors, push an update to the git repo, or reboot the app.

解决方案

从日志信息中我们根本看不到任何有用的信息,也不知道为啥报错。从社区中搜索答案,发现有个网友分享了这样一个解决方案:

在这里插入图片描述

他说时把配置文件中的 headless 参数设置为 true,按照这个方案我确实解决了错误。

原因分析

这就要解释一下 headless 参数的作用了。官方给出的解释如下:

# If false, will attempt to open a browser window on start.
# Default: false unless (1) we are on a Linux box where DISPLAY is unset, or (2) we are running in the Streamlit Atom plugin.

如果为 false,将尝试在启动时打开浏览器窗口。默认 false,以下两种情况需要设置为 true

  • (1)我们使用的是未设置 Display 的 Linux 机器
  • (2)我们正在 Streamlight Atom 插件中运行。

部署一个 web 应用是在 Linux 主机上进行的,符合第一种情况,所以需要设置为 true

引用参考

https://discuss.streamlit.io/t/manager-streamlit-server-consistently-failed-status-checks/11737/11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ConnectionError是一个在使用requests库发送请求可能遇到的异常。它表示与服务器建立连接出现问题。为了解决这个,可以使用多次循环来进行请求,并进行异常处理。例如,可以使用try-except语句来捕获ConnectionError异常,并在捕获到异常进行重试。以下是一个示例代码: ```python import requests url = "https://api.github.com/users" def send_request(url): try: response = requests.get(url) response.raise_for_status() return response.json() except requests.exceptions.ConnectionError as e: print("ConnectionError:", str(e)) # 进行重试 send_request(url) data = send_request(url) ``` 在这个示例代码,send_request函数用于发送请求。如果在发送请求出现ConnectionError异常,它会打印出异常信息,并进行重试。通过这种方式,可以增加程序的稳定性和容错性,确保在遇到连接错误能够继续进行请求。 另外,引用和提到了一些其他可能导致ConnectionError的原因,比如SSL问题和MySQL的加密规则。如果你在使用requests库遇到ConnectionError异常,可以检查是否存在这些问题,并进行相应的处理。例如,可以尝试关闭SSL或修改MySQL的加密规则来解决连接问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [用异常处理知识解决requests的ConnectionError](https://download.csdn.net/download/weixin_38704922/13746618)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [关于 连接mysql报错“ssl connection error:unknow error number” 的解决方法](https://blog.csdn.net/qq21497936/article/details/129694039)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xavier Jiezou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值