Streamlit运行报错:无法移动/创建缓存(权限拒绝)求助
解决Streamlit缓存权限报错(Access is denied)
报错信息
运行streamlit run streamlit.py时出现如下错误:
[4772:0604/211416.186:ERROR:cache_util_win.cc(20)] Unable to move the cache: Access is denied. (0x5) [4772:0604/211416.186:ERROR:disk_cache.cc(205)] Unable to create cache
问题原因
之前多次使用@st.cache_data触发系统崩溃后,残留的缓存目录出现权限锁定或异常,而卸载重装Streamlit不会自动清理缓存目录,导致报错持续。
解决步骤
- 关闭所有正在运行的Streamlit程序及终端窗口
- 打开命令提示符,执行以下命令获取Streamlit缓存目录路径:
streamlit cache dir - 方案一:清理缓存目录
- 手动删除步骤2中获取的目录下所有文件和文件夹
- 如果删除时提示权限不足,右键命令提示符选择「以管理员身份运行」,执行:
rmdir /s /q <缓存目录路径>
- 方案二:自定义缓存目录(可选)
- 在项目根目录创建
.streamlit文件夹,新建config.toml文件并写入:[server] cache_dir = "C:/temp/streamlit_cache" - 手动创建
C:/temp/streamlit_cache目录,确保当前用户拥有读写权限
- 在项目根目录创建
- 重新运行
streamlit run streamlit.py即可
内容的提问来源于stack exchange,提问作者KarSho
相关产品推荐
相关产品推荐

