esp32使用ESP-IDF在Linux下的升级步骤,和遇到的坑Traceback (most recent call last):,及解决

因为之前使用的是ESP-IDF5.3版本。而5.3版本又不支持ESP32P4。而V5.4版本开始正式对P4的支持。所以我把ESP-IDF 升级到V5.4.2的release版本。

一、升级版本:【根据乐鑫官方的方式升级】ESP-IDF 版本简介 - ESP32-P4 - — ESP-IDF 编程指南 v5.4.2 文档

更新至一个稳定发布版本

对于量产用户,推荐更新至一个新的 ESP-IDF 发布版本,请参考以下步骤:

  • 请定期查看 发布说明页面 ,了解最新发布情况。

  • 如有新发布的 Bugfix 版本(例 v3.0.1 或 v3.0.2)时,请将新的 Bugfix 版本更新至你的 ESP-IDF 目录。

  • 在 Linux 或 macOS 系统中,请运行如下命令将分支更新至 vX.Y.Z:

cd $IDF_PATH
git fetch
git checkout vX.Y.Z
git submodule update --init --recursive
  • 在 Windows 系统中,需要将 cd $IDF_PATH 替换为 cd %IDF_PATH%

  • 在主要版本或次要版本新发布时,请查看发布说明中的具体描述,并决定是否升级版本。具体命令与上方描述一致。

升级过程基本上是没有什么问题的。

二、升级完成后-测试

运行 get_idf后出现了错误如下:

Traceback (most recent call last):

File "/home/book/esp/esp-idf/tools/idf.py, line 3262, in <module>

.

.

.

AttributeError: '_SpecialForm' object has no attribute 'replace'

后面百度搜索找到一篇文章:Ubuntu20.04.1下ESP32环境esp-idf配置之路_ubuntu esp-idf-CSDN博客

类似的错误。但是解决方法不一样。我按照这文章的方式不行

这里我的Ubuntu就执行不了。我的环境的在~/.espressif/python_env/idf5.4_py3.9_env/这里面明显不一样。然后执行apt也会提示:WARNING: apt does not have a stable CLI interface. Use with caution in scrip。

三、解决问题

解决1:

【后面怎么设置也不行。没有办法就尝试把python版本改一下。官方也没有看到python具体版本号,只是看到python3版本。我V5.3.2是用python3.9.0是可以的。也没有考虑是python的问题。这次搞了一天多问题依旧。所以我就升级一个python3.10.16版。】

升级python版本方法:Linux Ubuntu系统升级修改python至Python3.9版本,更新pip为pip3_linux怎么升级python3.9-CSDN博客

问题2:新的终端打开get_idf出现问找到环境

$ get_idf
Checking "python3" ...
Python 3.10.16
"python3" has been detectedERROR: ESP-IDF Python virtual environment "/home/book/.espressif/python_env/idf5.4_py3.10_env/bin/python" not found. Please run the install script to set it up before proceeding.

解决2:这时候看~/.espressif/python_env/idf5.4_py3.9_env/是3.9.0这个时候我就重新把这cp一个重命名3.10就好了

 升级完后再get_idf竟然好了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/89211.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/89211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法】贪心算法:最大数C++

文章目录前言题目解析算法原理字典序代码示例策略证明前言 题目的链接&#xff0c;大家可以先试着去做一下再来看一下思路。179. 最大数 - 力扣&#xff08;LeetCode&#xff09; 题目解析 还是老样子&#xff0c;把题目读懂&#xff0c;画出有用信息。 认真看示例&#xff0…

网络安全职业指南:探索网络安全领域的各种角色

本文旨在为对网络安全领域感兴趣的粉丝读者提供一份全面的职业指南。我们将探讨网络安全领域中各种不同的职业角色&#xff0c;包括其职责、所需技能以及职业发展路径&#xff0c;帮助你了解网络安全领域的职业选择&#xff0c;并为你的职业规划提供参考。网络安全职业概览 身处…

Design Vision:显示扇入/扇出逻辑

相关阅读 Design Visionhttps://blog.csdn.net/weixin_45791458/category_13006970.html?spm1001.2014.3001.5482 在使用Design Vision中查看示意图时&#xff0c;可以在示意图中查看所选单元(Cell)、引脚(Pin)、端口(Port)或线网(Net)的扇入/扇出逻辑。用户可以在当前激活的…

13.7 Meta LLaMA2-Chat核心技术突破:三重强化学习实现91.4%安全评分,超越ChatGPT的对话模型架构全解析

Meta LLaMA2-Chat核心技术突破:三重强化学习实现91.4%安全评分,超越ChatGPT的对话模型架构全解析 指令微调模型:LLaMA2-Chat 技术深度解析 LLaMA2-Chat 作为 Meta 推出的对话优化大模型,其技术实现展现了大模型对齐(Alignment)领域的前沿突破。与基础版 LLaMA2 相比,该…

二维仿射变换笔记

二维仿射变换笔记 1. 数学基础 1.1 变换矩阵 二维仿射变换使用3x3的齐次坐标矩阵表示: [a b tx] [c d ty] [0 0 1 ]其中: [a b; c d] 是线性变换部分,表示旋转、缩放和错切[tx; ty] 是平移部分最后一行 [0 0 1] 是齐次坐标的固定形式1.2 基本变换 1.2.1 平移变换 将点…

创建自定义Dataset类与多分类问题实战

codes 文章目录&#x1f31f; 6 多分类问题与卷积模型的优化&#x1f9e9; 6.1 创建自定义Dataset类⚠️ 数据集特点&#xff1a;&#x1f511; 关键实现步骤&#xff1a;&#x1f6e0;️ 自定义Dataset类实现&#x1f4ca; 数据集划分与可视化&#x1f9e0; 6.2 基础卷积模型&…

用vue自定义指令设置页面权限

1.按钮权限处理/*** v-hasPermi 按钮权限处理*/import store from /storeexport default {inserted(el, binding, vnode) {const { value } bindingconst all_permission "*:*:*";const permissions store.getters && store.getters.permissionsif (value…

JPA / Hibernate

1. JPA 和 Hibernate 有什么区别&#xff1f;JPA 是 Java 官方提出的一套 ORM 规范&#xff0c;它只定义了实体映射、关系管理、查询接口等标准&#xff0c;不包含具体实现。Hibernate 是对 JPA 规范的最常用实现&#xff0c;提供了完整的 ORM 功能&#xff0c;并扩展了许多 JP…

kibana显示未准备就绪

kibana显示未准备就绪 最近在研究新版本的ELK&#xff08;Elasticsearch, Logstash, Kibana&#xff09;栈时遇到了一个问题&#xff1a;虽然服务器本身能够访问ELK服务&#xff0c;但通过浏览器尝试访问时却无法成功。这里我将分享一些可能的排查步骤和解决方案。连接es的地址…

语音对话秒译 + 视频悬浮字 + 相机即拍即译:ViiTor 如何破局跨语言场景?

在跨语言信息获取场景中&#xff0c;语言壁垒常导致效率降低。ViiTor Translate 试图通过 “场景化功能布局” &#xff0c;覆盖 语音、视频、图像、文本 四大维度翻译需求。以下基于产品功能展示&#xff0c;拆解其核心能力&#xff1a; 1. 实时语音对话翻译&#xff1a;打破交…

国内第一梯队终端安全产品解析:技术与场景实践

国内终端安全市场的第一梯队产品&#xff0c;通常具备技术领先性、场景覆盖度和规模化落地能力。结合 2025 年最新行业动态与实战案例&#xff0c;以下从技术架构、核心能力和典型应用三个维度&#xff0c;解析当前市场的头部产品及其差异化价值。一、技术架构与市场格局国内终…

FTP 备份,一种更安全的备份方式

备份数据后最重要的任务是确保备份安全存储&#xff0c;最好是异地存储。您可以通过物理方式将备份介质&#xff08;例如磁带和 CD/DVD&#xff09;移动到异地位置。这是一个乏味、耗时、不方便且不可靠的方式。更简单的解决方案是通过 FTP 备份到保存在异地的服务器。什么是 F…

理解 HTTP POST 请求中的 json 和 data 参数

在使用 Python 发送 HTTP POST 请求时&#xff08;无论是使用 requests 还是 aiohttp&#xff09;&#xff0c;json 和 data 参数有明确的区别和使用场景。理解这些区别对正确构建请求至关重要。关键区别特性json 参数data 参数内容类型自动设置为 application/json需要手动设置…

C#反射机制与Activator.CreateInstance

本文仅作为参考大佬们文章的总结。 反射是C#和.NET框架中一项强大的功能&#xff0c;允许程序在运行时检查、创建和操作类型、方法、属性等元数据。作为反射机制的核心组件&#xff0c;Activator.CreateInstance提供了动态实例化对象的灵活方式。本文将全面剖析C#反射的原理、…

Linux的用户和用户组与权限解析、环境变量说明与配置、sudo配置解析和使用

一、Linux的用户及用户组与权限 1.1、Linux的用户和用户组内容介绍 Linux的用户角色分类序号Linux的用户角色说明1超级用户拥有对系统的最高管理权限&#xff0c;可执行任意操作&#xff0c;默认是root用户2普通用户只能对自己目录下的文件进行访问和修改&#xff0c;具有登录系…

图解LeetCode:79递归实现单词搜索

网格 (board): 单词搜索 中等 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”…

2025 R3CTF

文章目录EvalgelistSilent Profit&#xff08;复现&#xff09;Evalgelist <?phpif (isset($_GET[input])) {echo <div class"output">;$filtered str_replace([$, (, ), , ", "", "", ":", "/", "!&…

WebView JSBridge 无响应问题排查实录 全流程定位桥接调用失效

在混合开发项目中&#xff0c;Web 页面与 Native 的通信桥梁——JSBridge&#xff0c;承担着极为关键的角色。它不仅让网页能调起原生功能&#xff08;分享、登录、拍照等&#xff09;&#xff0c;也支持原生传值、事件回调。 然而&#xff0c;当 JSBridge 调用“没有响应”、c…

前端构建工具 Webpack 5 的优化策略与高级配置

前端构建工具 Webpack 5 的优化策略与高级配置 当你的项目启动需要一分钟&#xff0c;或者每次热更新都像在“编译整个宇宙”时&#xff0c;你可能已经意识到了一个问题&#xff1a;前端构建性能&#xff0c;正成为开发效率的瓶颈。Webpack 作为现代前端开发的基石&#xff0c;…

tun2socks原理浅析

tun2socks 的原理是将TUN 设备上的IP 数据包转换为SOCKS 协议数据&#xff0c;然后通过SOCKS 代理服务器发送。简单来说&#xff0c;它利用TUN 设备模拟一个虚拟网络接口&#xff0c;将所有流经该接口的网络流量重定向到SOCKS 代理&#xff0c;从而实现流量的代理转发&#xff…