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

使用PyInstaller打包Streamlit应用为exe时遇PackageNotFoundError的解决方法

解决Streamlit打包为EXE时的PackageNotFoundError: No package metadata was found for streamlit错误
  • 方案1:强制收集Streamlit数据文件
    PyInstaller可能未正确捕获Streamlit的元数据文件,打包时添加--collect-data参数强制收集,完整命令示例:

    pyinstaller --onefile --collect-data streamlit your_app.py
    
  • 方案2:修改Streamlit版本文件绕开元数据校验
    找到Python环境下的streamlit/version.py文件,将调用importlib_metadata.version("streamlit")的代码替换为硬编码版本号(替换为你实际安装的Streamlit版本):

    # 原代码
    __version__ = importlib_metadata.version("streamlit")
    # 替换示例(版本号按需修改)
    __version__ = "1.32.0"
    

    修改后重新执行打包命令。

  • 方案3:使用干净虚拟环境打包

    1. 创建并激活虚拟环境:
      python -m venv venv
      # Windows系统激活
      venv\Scripts\activate
      # macOS/Linux系统激活
      source venv/bin/activate
      
    2. 安装必要依赖:
      pip install streamlit pyinstaller
      
    3. 执行打包命令:
      pyinstaller --onefile your_app.py
      
  • 方案4:升级依赖版本
    旧版本的PyInstaller或Streamlit可能存在兼容性问题,先升级再打包:

    pip install --upgrade pyinstaller streamlit
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:17:19