当前位置: 首页 > news >正文

PromptSource安装报错

一、现象

运行命令:streamlit run promptsource/app.py 报错:

streamlit run promptsource/app.py Traceback (most recent call last): File "/usr/local/bin/streamlit", line 5, in <module> from streamlit.cli import main File "/usr/local/lib/python3.10/dist-packages/streamlit/__init__.py", line 49, in <module> from streamlit.proto.RootContainer_pb2 import RootContainer File "/usr/local/lib/python3.10/dist-packages/streamlit/proto/RootContainer_pb2.py", line 33, in <module> _descriptor.EnumValueDescriptor( File "/usr/local/lib/python3.10/dist-packages/google/protobuf/descriptor.py", line 920, in __new__ _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors cannot be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

二、以下是针对该问题的分步解决方案:

问题原因分析:
该错误源于Protobuf库版本与Streamlit依赖不兼容,通常发生在Protobuf 4.x版本中。以下是三种解决方法:


方法1:降级Protobuf版本(推荐)

# 查看当前protobuf版本
pip show protobuf# 降级到兼容版本
pip install protobuf==3.20.3# 清理安装缓存
pip cache purge# 重新运行应用
streamlit run promptsource/app.py

方法2:设置环境变量(临时方案)

# 运行前添加环境变量(速度会变慢)
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python streamlit run promptsource/app.py

方法3:创建纯净虚拟环境

# 创建并激活虚拟环境(Python 3.7)
conda create -n promptsource_env python=3.7
conda activate promptsource_env# 安装依赖
pip install promptsource
pip install protobuf==3.20.3# 运行应用
streamlit run promptsource/app.py

附加说明:

  1. 如果使用Jupyter环境,需重启kernel使版本更改生效

  2. 完整依赖冲突检测命令:

pip check
  1. 项目要求Python 3.7的解决方案:

# 使用pyenv管理多版本
pyenv install 3.7.13
pyenv local 3.7.13

http://www.lryc.cn/news/534277.html

相关文章:

  • Leetcode 3448. Count Substrings Divisible By Last Digit
  • Maven 下载与配置教程:附百度网盘地址
  • 基于 GEE 的网格化降雨数据可视化与时间序列分析
  • java-初识List
  • windows下搭建tftp服务器+网络启动Linux
  • DeepSeek使用技巧大全(含本地部署教程)
  • PHP 面向对象编程详解
  • openbmc web/redfish到底层设计(持续更新...)
  • Linux init
  • Maven 版本管理与 SNAPSHOT 详解
  • TCP三次握手全方面详解
  • 【C#】一维、二维、三维数组的使用
  • MIT开源7B推理模型Satori:用行动思维链进行强化学习,增强自回归搜索
  • 【JVM详解二】常量池
  • w200基于spring boot的个人博客系统的设计与实现
  • 【算法】快速排序算法的实现:C 和 C++ 版本
  • 前沿科技一览未来发展趋势
  • js滚动到页面最底部
  • 视觉硬件选型和算法选择(CNN)
  • Mybatis篇
  • 【Python】元组
  • 【AI实践】deepseek支持升级git
  • 【AI实践】Cursor上手-跑通Hello World和时间管理功能
  • Redis数据库(二):Redis 常用的五种数据结构
  • 【计组】实验五 J型指令设计实验
  • ubuntu 本地部署deepseek r1 蒸馏模型
  • RestTemplate Https 证书访问错误
  • MySQL内存使用率高且不释放问题排查与总结
  • mysql8 从C++源码角度看sql生成抽象语法树
  • 【DeepSeek】DeepSeek概述 | 本地部署deepseek