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.1v3.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 detected

ERROR: 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竟然好了。

相关推荐
计算机毕业编程指导师3 小时前
毕业设计选题推荐之基于Spark的在线教育投融数据可视化分析系统 |爬虫|大数据|大屏|预测|深度学习|数据分析|数据挖掘
大数据·hadoop·python·数据挖掘·spark·毕业设计·在线教育投融
skywalk81633 小时前
docker的开源跨平台替代Vagrant
linux·运维·docker·容器·vagrant
花酒锄作田5 小时前
[Python][Go]比较两个JSON文件之间的差异
python·golang
捏尼卜波卜5 小时前
try/catch/throw 简明指南
linux·开发语言·c++
IDOlaoluo6 小时前
Linux 安装 JDK 8u291 教程(jdk-8u291-linux-x64.tar.gz 解压配置详细步骤)
java·linux·运维
都叫我大帅哥6 小时前
🧠 LangGraph状态管理:让AI工作流拥有“记忆”的超能力
python·langchain·ai编程
烷烯7 小时前
安全基础DAY1-安全概述
linux·服务器·安全·常见网路攻击
测试开发技术8 小时前
软件测试中,pytest 运行完成后,如何自动发送邮件?
开发语言·python·pytest·接口测试·面试题
YueiL8 小时前
Linux文件系统基石:透彻理解inode及其核心作用
linux·网络·数据库