streamlit_tags无set_page_config属性AttributeError报错解决方法
报错问题
运行Python程序时抛出如下错误:AttributeError: module 'streamlit_tags' has no attribute 'set_page_config'
基础环境信息
- Python版本:3.10.5
- Streamlit版本:1.10.0
- 报错截图:


报错根因
该错误属于命名空间覆盖问题,常见触发场景有两个:
- 导入时给
streamlit_tags设置了和streamlit相同的别名st,后续调用st.set_page_config()时,解释器实际指向的是streamlit_tags模块,而该模块不存在set_page_config方法 - 使用了
from streamlit_tags import *的全量导入写法,将streamlit_tags的所有内容导入当前全局命名空间,直接调用set_page_config()时,解释器优先匹配到streamlit_tags模块下的同名查找路径,触发属性不存在错误
有效解决办法
- 修正导入逻辑,避免命名冲突
禁止使用如下错误写法:
替换为正确写法:# 错误1:重复使用st别名覆盖streamlit import streamlit as st import streamlit_tags as st # 错误2:全量导入污染命名空间 from streamlit_tags import * set_page_config(page_title="Demo")import streamlit as st # 仅导入需要用到的组件,或者给streamlit_tags设置独立别名 from streamlit_tags import st_tags # 也可以写为 import streamlit_tags as stt # 所有streamlit原生方法统一通过st.前缀调用,且set_page_config必须放在脚本最开头 st.set_page_config(page_title="Demo") # 调用标签输入组件 selected_tags = st_tags(label="请输入标签", text="回车确认添加") - 若修正导入后仍报错,执行如下命令重装依赖,排除安装包损坏、版本不兼容问题:
pip uninstall -y streamlit streamlit-tags pip install streamlit==1.10.0 streamlit-tags
注意:
st.set_page_config()是Streamlit的全局页面配置方法,必须放在脚本所有Streamlit组件调用语句的最前面,否则会触发配置顺序错误。
内容的提问来源于stack exchange,提问作者Samin yeasir
相关产品推荐
相关产品推荐

