当前位置: 首页 > 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

相关文章:

PromptSource安装报错

一、现象 运行命令&#xff1a;streamlit run promptsource/app.py 报错&#xff1a; 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 …...

Leetcode 3448. Count Substrings Divisible By Last Digit

Leetcode 3448. Count Substrings Divisible By Last Digit 1. 解题思路2. 代码实现 题目链接&#xff1a;3448. Count Substrings Divisible By Last Digit 1. 解题思路 这一题的话我们走的是一个累积数组的思路。 首先&#xff0c;我们使用一个cache数组记录下任意段数字…...

Maven 下载与配置教程:附百度网盘地址

一、引言 在 Java 开发领域&#xff0c;Maven 是一款广泛使用的项目管理和构建工具。它能够帮助开发者自动化项目的构建、依赖管理和文档生成等任务&#xff0c;从而提高开发效率和项目质量。本文将详细介绍 Maven 的下载方法、安装步骤、配置教程以及使用技巧&#xff0c;并提…...

基于 GEE 的网格化降雨数据可视化与时间序列分析

目录 1 数据介绍 2 代码解析 3 完整代码 4 运行结果 降雨数据在遥感分析中是一个重要的因素,GEE 中有许多相关的降雨量数据以供研究。本文分享以 CHIRPS 网格化降雨量数据为例,进行时间序列分析,统计研究区年降雨量,以及将年降雨量导出至 csv 中。 1 数据介绍 气候灾…...

java-初识List

List&#xff1a; List 是一个接口&#xff0c;属于 java.util 包&#xff0c;用于表示有序的元素集合。List 允许存储重复元素&#xff0c;并且可以通过索引访问元素。它是 Java 集合框架&#xff08;Java Collections Framework&#xff09;的一部分 特点&#xff1a; 有序…...

windows下搭建tftp服务器+网络启动Linux

1. 安装windows下tftp服务器 https://pjo2.github.io/tftpd64/2. SD卡启动&#xff0c;tftp下载zImage、tdb文件&#xff0c;从SDRAM启动 下载linux镜像 tftp 80800000 zImage下载设备树 tftp 83000000 imx6ull-my-emmc.dtb启动 bootz 80800000 - 83000000 3. 网络启动 改…...

DeepSeek使用技巧大全(含本地部署教程)

在人工智能技术日新月异的今天&#xff0c;DeepSeek 作为一款极具创新性和实用性的 AI&#xff0c;在众多同类产品中崭露头角&#xff0c;凭借其卓越的性能和丰富的功能&#xff0c;吸引了大量用户的关注。 DeepSeek 是一款由国内顶尖团队研发的人工智能&#xff0c;它基于先进…...

PHP 面向对象编程详解

PHP 面向对象编程详解 引言 PHP 作为一种广泛使用的服务器端脚本语言&#xff0c;自诞生以来就以其简洁、易学、高效的特点受到开发者的喜爱。随着互联网技术的不断发展&#xff0c;PHP 也在不断地进化&#xff0c;其中面向对象编程&#xff08;OOP&#xff09;已经成为 PHP …...

openbmc web/redfish到底层设计(持续更新...)

1.说明 本节是厘清openbmc的界面层web或者redfish到底层数据获取与展示。 不可或缺的是先阅读官方关于redfish的设计文档: 1.https://github.com/openbmc/docs/blob/master/designs/redfish-authorization.md2.https://github.com/openbmc/docs/blob/master/designs/redfish…...

Linux init

如何检查你的 Linux 系统是否使用 systemd | Linux 中国|init|echo|stat|linux_网易订阅 初始化软件 Systemd&#xff0c;OpenRC&#xff0c;SysVinit&#xff0c;Busybox&#xff0c;runit&#xff0c;s6。 查看软件 stat /sbin/init readlink -f /sbin/init Artix Linux 有…...

Maven 版本管理与 SNAPSHOT 详解

1. Maven 版本管理概述 在 Maven 项目中&#xff0c;版本号&#xff08;Version&#xff09;是用于区分不同软件版本的重要标识。Maven 提供了一套标准的版本管理机制&#xff0c;包括&#xff1a; 正式版本&#xff08;Release Version&#xff09;快照版本&#xff08;SNAP…...

TCP三次握手全方面详解

文章目录 (1) 三次握手各状态CLOSE状态SYN_SENT状态SYN_RECV状态ESTABLISHED状态 (2) 为什么握手时的seqnum是随机值&#xff0c;以及acknum的功能(3) 三次握手中的半连接队列&#xff08;SYN队列&#xff09;和全连接队列&#xff08;ACCEPT队列&#xff09;半连接队列全连接队…...

【C#】一维、二维、三维数组的使用

在C#中&#xff0c;数组是用于存储固定数量相同类型元素的数据结构。根据维度的不同&#xff0c;可以分为一维数组、二维数组&#xff08;矩阵阵列&#xff09;、三维数组等。每增加一个维度&#xff0c;数据的组织方式就会变得更加复杂。 一维数组 一维数组是最简单的数组形…...

MIT开源7B推理模型Satori:用行动思维链进行强化学习,增强自回归搜索

自OpenAI的o1发布以来&#xff0c;研究社区为提升开源LLM的高级推理能力做出了诸多努力&#xff0c;包括使用强大的教师模型进行蒸馏、蒙特卡洛树搜索&#xff08;MCTS&#xff09;以及基于奖励模型的引导搜索等方法。 本研究旨在探索一个新的研究方向&#xff1a;使LLM具备自回…...

【JVM详解二】常量池

一、常量池概述 JVM的常量池主要有以下几种&#xff1a; class文件常量池运行时常量池字符串常量池基本类型包装类常量池 它们相互之间关系大致如下图所示&#xff1a; 每个 class 的字节码文件中都有一个常量池&#xff0c;里面是编译后即知的该 class 会用到的字面量与符号引…...

w200基于spring boot的个人博客系统的设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…...

【算法】快速排序算法的实现:C 和 C++ 版本

1. 算法简介 快速排序(Quick Sort)是由英国计算机科学家霍尔(C.A.R. Hoare)在1960年提出的一种高效的排序算法。它采用了分治法(Divide and Conquer)策略,通常具有很好的性能。在平均情况下,快速排序的时间复杂度为 O(n log n),但在最坏情况下可能退化为 O(n^2),不过…...

前沿科技一览未来发展趋势

脑机接口技术在医疗康复领域有了新进展。这技术让机器读懂大脑信号&#xff0c;帮助病人找回身体功能。 比如&#xff0c;瘫痪人士可以用它来控制假肢。在美国&#xff0c;一名瘫痪者通过这个技术&#xff0c;能用自己意念控制机械臂&#xff0c;喝到饮料。这种技术对提升患者…...

js滚动到页面最底部

setTimeout(()> { //延后执行&#xff0c;等页面渲染结束let container document.querySelector(.raise-flag-content); //找到当前divif (container) {container.scrollTop container.scrollHeight - (container.clientHeight - 400 );}})container.scrollTop container…...

视觉硬件选型和算法选择(CNN)

基础知识 什么是机械视觉: 机械视觉是一种利用机器代替人眼来进行测量和判断的技术&#xff0c;通过光学系统、图像传感器等设备获取图像&#xff0c;并运用图像处理和分析算法来提取信息&#xff0c;以实现对目标物体的识别、检测、测量和定位等功能。 机械视觉与人类视觉有什…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...