Streamlit代码更新后突发报错求助:ModuleNotFoundError问题排查
问题根源
报错核心原因是Hydralit版本与当前Streamlit版本不兼容。从回溯信息可见,Hydralit的sessionstate.py文件尝试导入streamlit.scriptrunner.script_run_context,但Streamlit后续版本调整了内部模块结构,该路径已变更为streamlit.runtime.scriptrunner.script_run_context,旧版Hydralit无法适配这个变化。
解决方案
方案1:降级Streamlit至Hydralit兼容版本
查找Hydralit官方支持的Streamlit版本(例如旧版Hydralit通常兼容Streamlit 1.12.x及以下版本),执行降级命令:pip install streamlit==1.12.0可根据Hydralit实际版本调整具体的Streamlit版本号。
方案2:升级Hydralit至最新兼容版本
如果Hydralit已发布适配新版Streamlit的更新,直接升级Hydralit:pip install --upgrade hydralit升级后会自动修复模块路径问题。
方案3:临时手动修复(不推荐,仅应急使用)
找到Hydralit安装目录下的sessionstate.py文件(路径如报错中的/home/appuser/venv/lib/python3.9/site-packages/hydralit/sessionstate.py),将第9行的导入代码修改为:from streamlit.runtime.scriptrunner.script_run_context import get_script_run_ctx注意:该修改会在重新安装Hydralit后失效,仅作为临时救急方案。
内容的提问来源于stack exchange,提问作者Salem Gr
相关产品推荐
相关产品推荐

