Streamlit chat_input属性报错及Python版本不符问题求助
问题原因分析与解决办法
核心问题根源
Python版本显示矛盾的原因
你实际调用的是系统全局的Python 3.9环境,而非配置的conda环境。这是因为系统PATH中全局Python的优先级高于conda环境,导致streamlit命令指向了Python 3.9对应的可执行文件,而非conda环境内的版本。AttributeError的原因
虽然你声称使用Streamlit 1.30.0,但实际运行的是Python 3.9环境中的旧版Streamlit。st.chat_input()是Streamlit 1.22.0版本才新增的API,旧版本(低于1.22.0)不存在该属性,因此触发报错。
解决步骤
- 先激活目标conda环境:
conda activate 你的环境名称 - 验证当前环境的Python和Streamlit版本:
python --version # 应输出3.12.0 streamlit --version # 应输出1.30.0 - 如果版本不符,在激活的conda环境内重新安装指定版本的Streamlit:
pip install streamlit==1.30.0 - 再次运行你的应用:
streamlit run app.py
额外排查点
可以通过which streamlit命令查看当前调用的Streamlit路径,如果输出是/Library/Frameworks/Python.framework/...开头,说明还是调用了全局环境的版本。此时需要确保conda环境的bin目录在系统PATH的最前面,可通过重启终端或重新激活conda环境来修复PATH优先级问题。
内容的提问来源于stack exchange,提问作者Quinten
相关产品推荐
相关产品推荐

