配置无误但Streamlit Cloud无法克隆公开GitHub仓库:下载源失败
Streamlit Cloud无法克隆大小写敏感的公开GitHub仓库问题排查与解决
问题场景
尝试将公开GitHub仓库MonteSimLite部署到Streamlit Cloud,所有配置均符合要求:
- 仓库为公开状态
- 分支为
main - 入口文件
app.py位于根目录 - Python版本设置为3.11
- 所有依赖已在
requirements.txt中完整列出 - Streamlit控制台配置的仓库路径大小写正确(
mysorian/MonteSimLite)
但部署始终失败,日志持续输出如下错误:
Failed to download the sources for repository: 'montesimlite', branch: 'main', main module: 'app.py'
Make sure the repository and the branch exist and you have write access to it, and then reboot the app.
已完成的排查操作:
- 创建全新名称的应用重新部署
- 断开并重新连接Streamlit Cloud与GitHub的授权
- 重命名GitHub仓库测试
- 使用仅含简单标题的极简
app.py验证部署流程 - 反复确认仓库URL大小写(确认为
MonteSimLite而非小写montesimlite) - 删除所有使用小写别名的旧应用
此前曾成功部署类似配置的仓库MontecarloSimulator,Streamlit会自动将子域名转为小写(如montesimlite.streamlit.app),但此次部署似乎因仓库名称的大小写解析问题失败。
解决建议
强制刷新Streamlit Cloud缓存与元数据
- 进入应用控制台的「设置」页面,找到「高级」板块,点击「重新部署」并选择「从GitHub拉取最新代码」,同时勾选「清除缓存」选项。
- 若没有该选项,可删除当前应用,等待10-15分钟后重新创建,输入仓库路径时手动严格输入大小写,避免依赖自动补全的小写路径。
验证GitHub仓库的大小写可用性
- 在本地通过Git命令克隆仓库,确认大小写路径是否能正常访问:
git clone https://github.com/mysorian/MonteSimLite.git - 若本地克隆正常,说明问题出在Streamlit Cloud服务端的缓存或路径解析逻辑。
- 在本地通过Git命令克隆仓库,确认大小写路径是否能正常访问:
提交Streamlit支持工单
- 由于该问题大概率是Streamlit Cloud后端的大小写解析bug或缓存残留导致,直接提交支持工单,提供仓库链接、应用ID和完整报错日志,请求官方手动清除相关缓存或排查路径解析问题。
临时规避方案:修改仓库名称为全小写
- 若上述方法均无效,可尝试将GitHub仓库重命名为全小写的
montesimlite,再在Streamlit控制台配置对应路径,虽为妥协方案,但能快速解决部署阻塞问题。
- 若上述方法均无效,可尝试将GitHub仓库重命名为全小写的
内容的提问来源于stack exchange,提问作者user2063329




