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
附加说明:
-
如果使用Jupyter环境,需重启kernel使版本更改生效
-
完整依赖冲突检测命令:
pip check
-
项目要求Python 3.7的解决方案:
# 使用pyenv管理多版本 pyenv install 3.7.13 pyenv local 3.7.13
相关文章:
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 …...
Leetcode 3448. Count Substrings Divisible By Last Digit
Leetcode 3448. Count Substrings Divisible By Last Digit 1. 解题思路2. 代码实现 题目链接:3448. Count Substrings Divisible By Last Digit 1. 解题思路 这一题的话我们走的是一个累积数组的思路。 首先,我们使用一个cache数组记录下任意段数字…...
Maven 下载与配置教程:附百度网盘地址
一、引言 在 Java 开发领域,Maven 是一款广泛使用的项目管理和构建工具。它能够帮助开发者自动化项目的构建、依赖管理和文档生成等任务,从而提高开发效率和项目质量。本文将详细介绍 Maven 的下载方法、安装步骤、配置教程以及使用技巧,并提…...
基于 GEE 的网格化降雨数据可视化与时间序列分析
目录 1 数据介绍 2 代码解析 3 完整代码 4 运行结果 降雨数据在遥感分析中是一个重要的因素,GEE 中有许多相关的降雨量数据以供研究。本文分享以 CHIRPS 网格化降雨量数据为例,进行时间序列分析,统计研究区年降雨量,以及将年降雨量导出至 csv 中。 1 数据介绍 气候灾…...
java-初识List
List: List 是一个接口,属于 java.util 包,用于表示有序的元素集合。List 允许存储重复元素,并且可以通过索引访问元素。它是 Java 集合框架(Java Collections Framework)的一部分 特点: 有序…...
windows下搭建tftp服务器+网络启动Linux
1. 安装windows下tftp服务器 https://pjo2.github.io/tftpd64/2. SD卡启动,tftp下载zImage、tdb文件,从SDRAM启动 下载linux镜像 tftp 80800000 zImage下载设备树 tftp 83000000 imx6ull-my-emmc.dtb启动 bootz 80800000 - 83000000 3. 网络启动 改…...
DeepSeek使用技巧大全(含本地部署教程)
在人工智能技术日新月异的今天,DeepSeek 作为一款极具创新性和实用性的 AI,在众多同类产品中崭露头角,凭借其卓越的性能和丰富的功能,吸引了大量用户的关注。 DeepSeek 是一款由国内顶尖团队研发的人工智能,它基于先进…...
PHP 面向对象编程详解
PHP 面向对象编程详解 引言 PHP 作为一种广泛使用的服务器端脚本语言,自诞生以来就以其简洁、易学、高效的特点受到开发者的喜爱。随着互联网技术的不断发展,PHP 也在不断地进化,其中面向对象编程(OOP)已经成为 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,OpenRC,SysVinit,Busybox,runit,s6。 查看软件 stat /sbin/init readlink -f /sbin/init Artix Linux 有…...
Maven 版本管理与 SNAPSHOT 详解
1. Maven 版本管理概述 在 Maven 项目中,版本号(Version)是用于区分不同软件版本的重要标识。Maven 提供了一套标准的版本管理机制,包括: 正式版本(Release Version)快照版本(SNAP…...
TCP三次握手全方面详解
文章目录 (1) 三次握手各状态CLOSE状态SYN_SENT状态SYN_RECV状态ESTABLISHED状态 (2) 为什么握手时的seqnum是随机值,以及acknum的功能(3) 三次握手中的半连接队列(SYN队列)和全连接队列(ACCEPT队列)半连接队列全连接队…...
【C#】一维、二维、三维数组的使用
在C#中,数组是用于存储固定数量相同类型元素的数据结构。根据维度的不同,可以分为一维数组、二维数组(矩阵阵列)、三维数组等。每增加一个维度,数据的组织方式就会变得更加复杂。 一维数组 一维数组是最简单的数组形…...
MIT开源7B推理模型Satori:用行动思维链进行强化学习,增强自回归搜索
自OpenAI的o1发布以来,研究社区为提升开源LLM的高级推理能力做出了诸多努力,包括使用强大的教师模型进行蒸馏、蒙特卡洛树搜索(MCTS)以及基于奖励模型的引导搜索等方法。 本研究旨在探索一个新的研究方向:使LLM具备自回…...
【JVM详解二】常量池
一、常量池概述 JVM的常量池主要有以下几种: class文件常量池运行时常量池字符串常量池基本类型包装类常量池 它们相互之间关系大致如下图所示: 每个 class 的字节码文件中都有一个常量池,里面是编译后即知的该 class 会用到的字面量与符号引…...
w200基于spring boot的个人博客系统的设计与实现
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
【算法】快速排序算法的实现:C 和 C++ 版本
1. 算法简介 快速排序(Quick Sort)是由英国计算机科学家霍尔(C.A.R. Hoare)在1960年提出的一种高效的排序算法。它采用了分治法(Divide and Conquer)策略,通常具有很好的性能。在平均情况下,快速排序的时间复杂度为 O(n log n),但在最坏情况下可能退化为 O(n^2),不过…...
前沿科技一览未来发展趋势
脑机接口技术在医疗康复领域有了新进展。这技术让机器读懂大脑信号,帮助病人找回身体功能。 比如,瘫痪人士可以用它来控制假肢。在美国,一名瘫痪者通过这个技术,能用自己意念控制机械臂,喝到饮料。这种技术对提升患者…...
js滚动到页面最底部
setTimeout(()> { //延后执行,等页面渲染结束let container document.querySelector(.raise-flag-content); //找到当前divif (container) {container.scrollTop container.scrollHeight - (container.clientHeight - 400 );}})container.scrollTop container…...
视觉硬件选型和算法选择(CNN)
基础知识 什么是机械视觉: 机械视觉是一种利用机器代替人眼来进行测量和判断的技术,通过光学系统、图像传感器等设备获取图像,并运用图像处理和分析算法来提取信息,以实现对目标物体的识别、检测、测量和定位等功能。 机械视觉与人类视觉有什…...
GTE中文文本嵌入模型实战教程:与LangChain集成构建中文RAG流程
GTE中文文本嵌入模型实战教程:与LangChain集成构建中文RAG流程 1. 引言:为什么需要中文文本嵌入模型 在人工智能快速发展的今天,让计算机真正"理解"中文文本变得越来越重要。无论是智能客服、文档检索还是知识问答,都…...
OpenClaw定时任务:GLM-4.7-Flash实现自动化日报
OpenClaw定时任务:GLM-4.7-Flash实现自动化日报 1. 为什么需要自动化日报系统 每天下班前写日报这件事,我坚持了三年零四个月——直到上个月彻底放弃手工记录。不是因为懒,而是发现手工整理的日报存在三个致命问题: 第一是数据…...
为什么FNF PsychEngine能成为节奏游戏创作的首选工具?
为什么FNF PsychEngine能成为节奏游戏创作的首选工具? 【免费下载链接】FNF-PsychEngine Engine originally used on Mind Games mod 项目地址: https://gitcode.com/gh_mirrors/fn/FNF-PsychEngine 如果你对Friday Night Funkin(FNF)…...
如何用VideoCaptioner将AI字幕准确率从83%提升到98%?完整免费教程
如何用VideoCaptioner将AI字幕准确率从83%提升到98%?完整免费教程 【免费下载链接】VideoCaptioner 🎬 卡卡字幕助手 | VideoCaptioner - 基于 LLM 的智能字幕助手,无需GPU一键高质量字幕视频合成!视频字幕生成、断句、校正、字幕…...
终极鸣潮工具箱:3大核心功能让游戏体验翻倍的完整指南
终极鸣潮工具箱:3大核心功能让游戏体验翻倍的完整指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools WaveTools(鸣潮工具箱)是一款专为《鸣潮》玩家设计的开源游戏辅助…...
旧设备焕新:OpenCore跨版本升级破局指南
旧设备焕新:OpenCore跨版本升级破局指南 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 痛点诊断:旧Mac的升级困境 每一台Mac都有其生命周期&…...
GMSL GUI实战:利用EOM眼图与Link Margin优化高速链路设计
1. GMSL高速链路设计的核心挑战 在车载摄像头、工业视觉等需要长距离传输高清视频的场景中,GMSL(千兆多媒体串行链路)技术凭借其高带宽和抗干扰能力成为首选方案。但当我第一次尝试设计6Gbps的GMSL3链路时,信号完整性问题就像个隐…...
uniapp安卓应用实现开机自启动的完整配置指南
1. 为什么需要开机自启动功能? 很多智能设备(如工业平板、广告机、自助终端)都需要在通电后立即运行指定应用。比如商场的导购系统、工厂的生产看板、医院的叫号终端,都需要保证设备重启后业务系统能自动恢复。传统方案需要人工点…...
Python工业网关通信异常?97%的调试失败源于这4个隐蔽配置陷阱(附实时诊断脚本)
第一章:Python工业网关通信异常的典型现象与诊断范式工业现场中,基于Python构建的边缘网关常因协议适配、资源约束或环境干扰出现通信异常。典型现象包括:Modbus TCP连接频繁超时、MQTT订阅后无消息到达、OPC UA会话意外中断、串口数据乱码或…...
无需编程!cv_resnet18_ocr-detection WebUI界面操作详解
无需编程!cv_resnet18_ocr-detection WebUI界面操作详解 1. 开篇:为什么选择这个OCR工具? 在日常工作和生活中,我们经常需要从图片中提取文字信息。传统OCR工具要么需要复杂的编程接口,要么功能单一难以满足需求。今…...
