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

Streamlit初始化时st.image_select触发st.cache_data警告的解决求助

解决streamlit-image-select初始化时的st.experimental_memo警告

这个警告并非你的代码导致,而是streamlit-image-select模块内部使用了Streamlit已弃用的st.experimental_memo装饰器,因此初始化阶段会触发提示。以下是几种彻底消除该警告的可行方案:

方法1:升级streamlit-image-select到最新版本

模块开发者大概率会在新版本中替换掉旧的缓存API,优先尝试升级:

pip install --upgrade streamlit-image-select

升级完成后重启你的Streamlit应用,验证警告是否消失。

方法2:在代码中针对性屏蔽警告

如果升级后警告仍存在,可以在你的Python文件开头添加代码,专门屏蔽这个缓存API的弃用警告:

import streamlit as st
import warnings

# 屏蔽st.experimental_memo相关的弃用警告
warnings.filterwarnings("ignore", category=DeprecationWarning, message=".*st.experimental_memo.*")

# 你的原有代码继续往下写
work_path = 'C:/Users/me/Desktop/webpage'
IMG_SIZE = 512
image1 = load_dicom(f"{work_path}/images/1.2.826.0.1.3680043.1363_120.dcm")
# ...后续代码保持不变

方法3:手动修改模块源码(非必要不推荐)

如果前两种方法都无效,可以直接修改streamlit-image-select的源码,替换内部的旧缓存API:

  1. 运行pip show streamlit-image-select查看模块的安装路径(Location字段)
  2. 进入该路径下的streamlit_image_select文件夹,打开核心逻辑文件(通常是image_select.py)
  3. 找到所有标注@st.experimental_memo的代码行,替换为@st.cache_data
  4. 保存修改后重启应用

注意:手动修改源码会在下次升级模块时被覆盖,因此仅作为最后备选方案。

内容的提问来源于stack exchange,提问作者Doyeon.K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 14:28:12