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

加载Pickle文件的Streamlit应用报ModuleNotFoundError问题求助

解决ModuleNotFoundError: No module named 'pandas.core.indexes.numeric'问题

以下是几个针对性的排查和解决方向:

  • 检查Streamlit运行环境与本地测试环境是否一致
    本地测试import pandas.core.indexes as i正常,但Streamlit可能在另一个Python环境中运行。可以在你的Streamlit代码中添加以下代码,确认当前运行环境的pandas版本和路径:

    import pandas as pd
    st.write(f"当前pandas版本: {pd.__version__}")
    st.write(f"pandas安装路径: {pd.__file__}")
    

    同时在本地终端执行以下命令,对比输出结果:

    python -c "import pandas as pd; print(pd.__version__); print(pd.__file__)"
    

    如果两者不一致,需要切换到正确的虚拟环境(比如conda或venv)后再启动Streamlit。

  • 验证Pickle生成环境与运行环境的pandas版本兼容性
    Pickle的序列化结果和生成时的库结构强绑定,如果生成pickle1.pkl和pickle2.pkl的pandas版本,与当前运行Streamlit的pandas版本跨大版本(比如从1.x升到2.x),可能出现模块路径不匹配的问题。建议确认生成时的pandas版本,要么将运行环境的pandas降级/升级到对应版本,要么用当前环境的pandas重新生成Pickle文件。

  • 重新安装pandas修复潜在的安装损坏
    升级操作可能没有修复部分损坏的文件,尝试完全卸载后重新安装:

    pip uninstall -y pandas
    pip install pandas --no-cache-dir
    

    安装完成后重启Streamlit应用测试。

  • 清除Streamlit缓存
    Streamlit的缓存机制可能保留了旧的模块引用,执行以下命令清除缓存:

    streamlit cache clear
    

    之后再启动应用查看是否解决问题。

内容的提问来源于stack exchange,提问作者Resai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 17:12:41