You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Heroku部署Streamlit应用时config.toml配置未生效问题

问题根因

部署后自定义主题失效是因为setup.sh的写入逻辑覆盖了完整配置:脚本执行时向~/.streamlit/config.toml写入的内容仅包含[server]服务启动段,完全没有带上你写好的[theme]主题配置。
本地执行streamlit run时,程序会优先读取项目目录下.streamlit/config.toml的全量配置,所以主题可以正常生效;Heroku环境下程序加载的是setup.sh生成的、只有服务参数的配置文件,找不到主题配置就会回退到默认的白底黑字样式。

修复方法

修改setup.sh脚本,把主题配置合并到生成的~/.streamlit/config.toml内容中,修改后的完整脚本如下:

mkdir -p ~/.streamlit/

echo "\
[general]\n\
email = \"myname@domain.com\"\n\
" > ~/.streamlit/credentials.toml

echo "\
[server]\n\
headless = true\n\
enableCORS=false\n\
port = $PORT\n\

[theme]\n\
primaryColor = '#eb4034'\n\
backgroundColor = '#021d24'\n\
secondaryBackgroundColor = '#B9F1C0'\n\
textColor = '#FFFFFF'\n\
font = \"sans serif\"\n\
" > ~/.streamlit/config.toml
注意事项
  • 修改完成后重新提交代码推送到Heroku触发重新部署即可
  • 部署完成后访问站点建议先做硬刷新(Ctrl+F5 / Cmd+Shift+R),避免浏览器缓存旧的默认样式导致误判
  • 不建议在Heroku部署时依赖项目目录下的config.toml加载主题,不同构建环境下路径识别容易出问题,直接把全量配置通过setup.sh写入到用户目录的.streamlit路径下是兼容性最高的方案

内容的提问来源于stack exchange,提问作者Suparno Saha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 02:48:32