Streamlit报错:TypeError: Protocols cannot be instantiated 求助
解决Streamlit运行报错
TypeError: Protocols cannot be instantiated.及页面卡顿问题 问题重现
运行以下代码:
import streamlit as st st.write('Hello World')
出现错误TypeError: Protocols cannot be instantiated.,且本地应用卡在“Please wait...”界面,尝试降级Streamlit版本后问题依旧。
解决方案
构建干净虚拟环境
环境依赖冲突是最常见原因,先彻底重置环境:- 删除现有虚拟环境(如使用):Linux/macOS执行
rm -rf venv,Windows执行rmdir /s venv - 新建虚拟环境:
python -m venv venv - 激活环境:Linux/macOS
source venv/bin/activate,Windowsvenv\Scripts\activate
- 删除现有虚拟环境(如使用):Linux/macOS执行
安装兼容版本的依赖
先锁定typing-extensions版本(这个库和Streamlit兼容性问题频发),再安装稳定版Streamlit:pip install typing-extensions==4.5.0 pip install streamlit==1.28.0清理Streamlit缓存
旧缓存可能导致加载异常,执行命令清除:streamlit cache clear验证Python版本
Streamlit对Python3.12的兼容性尚不完善,建议切换到3.8~3.11版本的Python再尝试运行。
执行完以上步骤后,重新运行你的测试脚本即可。
内容的提问来源于stack exchange,提问作者SomeActuary
相关产品推荐
相关产品推荐

