文章目录

  • 应用场景:
  • 问题1描述:
  • 原因分析:
  • 解决方案:
    • 先检查 ESP-IDF 工具链是否安装完整
        • 设定工具路径变量一切正常:
  • 执行重新运行安装脚本后又报错:
  • 原因分析
  • 解决方法:
    • 第一步:安装python3.10-venv包(核心修复)
    • 第二步:重新执行 ESP-IDF 安装脚本,重建虚拟环境
      • 安装过程中会看到:
    • 第三步:验证激活 ESP-IDF 环境
  • 问题2描述:
      • 因为没有rich模块造成的激活失败:
      • 解决方法


应用场景:

ESP32-WSL开发环境搭建过程中遇到的问题及解决方案


问题1描述:

ESP-IDF wsl 开发环境搭建完毕后,执行激活命令失败。

comeon@CARtech-jg:~/esp-idf$ . ./export.sh
Checking "python3" ...
Python 3.10.12
"python3" has been detected
error: Unable to import the rich module: No module named 'rich'. Please execute the install script.ERROR: Activation script failed
Command '['/home/comeon/.espressif/python_env/idf5.5_py3.10_env/bin/python', '/home/comeon/esp-idf/tools/export_utils/activate_venv.py', '--export', '--shell', 'bash']' returned non-zero exit status 1.
To view detailed debug information, set ESP_IDF_EXPORT_DEBUG=1 and run the export script again.

在这里插入图片描述


原因分析:

这个错误提示表明 ESP-IDF 环境激活失败,原因是缺少rich Python 模块。可以按照以下步骤解决:

首先确保你在 ESP-IDF 的 Python 虚拟环境中安装rich模块:

# 激活ESP-IDF的Python虚拟环境
source ~/.espressif/python_env/idf5.5_py3.10_env/bin/activate# 安装rich模块
pip install rich

执行第一个命令时,报错:

comeon@CARtech-jg:~/esp-idf$ source ~/.espressif/python_env/idf5.5_py3.10_env/bin/activate
-bash: /home/comeon/.espressif/python_env/idf5.5_py3.10_env/bin/activate: No such file or directory

在这里插入图片描述

从错误信息来看,ESP-IDF 对应的 Python 虚拟环境目录 idf5.5_py3.10_env 不存在,可能是之前的 ESP-IDF 工具链安装不完整,或虚拟环境未成功创建导致的。


解决方案:

可按以下步骤重新修复环境,解决激活问题:

先检查 ESP-IDF 工具链是否安装完整

进入 esp-gitee-tools 目录(之前下载的工具目录,若忘记路径可通过 find ~ -name “esp-gitee-tools” 查找):

cd ~/esp-gitee-tools  # 若路径不同,替换为实际的esp-gitee-tools目录

重新执行 ESP-IDF 的安装脚本,补全工具链和虚拟环境:

export EGT_PATH=$(pwd)  # 设定工具路径变量
cd ~/esp-idf  # 进入ESP-IDF主目录
$EGT_PATH/install.sh  # 重新运行安装脚本

安装过程中会自动创建对应 Python 版本的虚拟环境(如 idf5.5_py3.10_env),并安装依赖模块。若出现 “是否继续” 的提示,输入 y 确认,等待安装完成(需保证网络稳定,避免中断)。

设定工具路径变量一切正常:

在这里插入图片描述

执行重新运行安装脚本后又报错:

comeon@CARtech-jg:~/esp-idf$ $EGT_PATH/install.sh
Detecting Python interpreter
Checking "python3" ...
Python 3.10.12
"python3" has been detected
Installing ESP-IDF tools
Updating /home/comeon/.espressif/idf-env.json
Selected targets are: esp32c3, esp32p4, esp32c2, esp32c6, esp32s2, esp32h2, esp32c61, esp32h21, esp32s3, esp32h4, esp32c5, esp32
Current system platform: linux-amd64
Installing tools: xtensa-esp-elf-gdb, riscv32-esp-elf-gdb, xtensa-esp-elf, riscv32-esp-elf, esp32ulp-elf, openocd-esp32, esp-rom-elfs
Skipping xtensa-esp-elf-gdb@16.2_20250324 (already installed)
Skipping riscv32-esp-elf-gdb@16.2_20250324 (already installed)
Skipping xtensa-esp-elf@esp-14.2.0_20241119 (already installed)
Skipping riscv32-esp-elf@esp-14.2.0_20241119 (already installed)
Skipping esp32ulp-elf@2.38_20240113 (already installed)
Skipping openocd-esp32@v0.12.0-esp32-20250226 (already installed)
Skipping esp-rom-elfs@20241011 (already installed)
Installing Python environment and packages
Python 3.10.12
/home/comeon/.espressif/python_env/idf5.5_py3.10_env/bin/python: No module named pip
WARNING: pip is not available in the existing virtual environment, new virtual environment will be created.
WARNING: Removing the existing Python environment in /home/comeon/.espressif/python_env/idf5.5_py3.10_env
Creating a new Python environment in /home/comeon/.espressif/python_env/idf5.5_py3.10_env
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.apt install python3.10-venvYou may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.Failing command: /home/comeon/.espressif/python_env/idf5.5_py3.10_env/bin/python3Traceback (most recent call last):File "/home/comeon/esp-idf/tools/idf_tools.py", line 3572, in <module>main(sys.argv[1:])File "/home/comeon/esp-idf/tools/idf_tools.py", line 3562, in mainaction_func(args)File "/home/comeon/esp-idf/tools/idf_tools.py", line 2830, in action_install_python_envsubprocess.check_call(File "/usr/lib/python3.10/subprocess.py", line 369, in check_callraise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'venv', '/home/comeon/.espressif/python_env/idf5.5_py3.10_env']' returned non-zero exit status 1.

在这里插入图片描述

原因分析

从报错信息可以明确,问题根源是 Ubuntu 系统缺少python3.10-venv包—— 这是 Python 3.10 创建虚拟环境必需的组件,没有它会导致 ESP-IDF 无法生成idf5.5_py3.10_env虚拟环境,进而触发后续的pip缺失和激活失败。

解决方法:

第一步:安装python3.10-venv包(核心修复)

sudo apt update && sudo apt install -y python3.10-venv

udo apt update:更新软件源列表,确保能找到最新的python3.10-venv包;
sudo apt install -y python3.10-venv:自动确认安装(-y参数),避免手动输入y确认。

comeon@CARtech-jg:~/esp-idf$ sudo apt update && sudo apt install -y python3.10-venv
[sudo] password for comeon:
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
Get:5 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [2595 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [2843 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1227 kB]
Get:8 http://archive.ubuntu.com/ubuntu jammy-updates/universe Translation-en [304 kB]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [994 kB]
Fetched 8347 kB in 8s (1060 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
222 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:libpython3.10 libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib python3-pip-whl python3-setuptools-whlpython3.10 python3.10-dev python3.10-minimal
Suggested packages:python3.10-doc binfmt-support
The following NEW packages will be installed:python3-pip-whl python3-setuptools-whl python3.10-venv
The following packages will be upgraded:libpython3.10 libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib python3.10 python3.10-devpython3.10-minimal
7 upgraded, 3 newly installed, 0 to remove and 215 not upgraded.
Need to get 15.1 MB of archives.
After this operation, 2894 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3.10-dev amd64 3.10.12-1~22.04.11 [508 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-dev amd64 3.10.12-1~22.04.11 [4764 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10 amd64 3.10.12-1~22.04.11 [1949 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3.10 amd64 3.10.12-1~22.04.11 [508 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-stdlib amd64 3.10.12-1~22.04.11 [1850 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 python3.10-minimal amd64 3.10.12-1~22.04.11 [2264 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpython3.10-minimal amd64 3.10.12-1~22.04.11 [815 kB]
Get:8 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-pip-whl all 22.0.2+dfsg-1ubuntu0.6 [1680 kB]
Get:9 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-setuptools-whl all 59.6.0-1.2ubuntu0.22.04.3 [789 kB]
Get:10 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3.10-venv amd64 3.10.12-1~22.04.11 [5726 B]
Fetched 15.1 MB in 15s (1028 kB/s)
(Reading database ... 31282 files and directories currently installed.)
Preparing to unpack .../0-python3.10-dev_3.10.12-1~22.04.11_amd64.deb ...
Unpacking python3.10-dev (3.10.12-1~22.04.11) over (3.10.12-1~22.04.9) ...
Preparing to unpack .../1-libpython3.10-dev_3.10.12-1~22.04.11_amd64.deb ...
Unpacking libpython3.10-dev:amd64 (3.10.12-1~22.04.11) over (3.10.12-1~22.04.9) ...
Preparing to unpack .../2-libpython3.10_3.10.12-1~22.04.11_amd64.deb ...
Unpacking libpython3.10:amd64 (3.10.12-1~22.04.11) over (3.10.12-1~22.04.9) ...
Preparing to unpack .../3-python3.10_3.10.12-1~22.04.11_amd64.deb ...
Unpacking python3.10 (3.10.12-1~22.04.11) over (3.10.12-1~22.04.9) ...
Preparing to unpack .../4-libpython3.10-stdlib_3.10.12-1~22.04.11_a

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

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

相关文章

SwiftUI 三阵诀:杨过绝情谷悟 “视图布阵” 之道

&#x1f4dc; 引子&#xff1a;绝情谷困境&#xff0c;三阵待辨 绝情谷外&#xff0c;瘴气弥漫。杨过手握玄铁剑&#xff08;喻 Xcode&#xff09;&#xff0c;凝视谷中涌动的万千 “毒物”&#xff08;喻待渲染的视图元素&#xff09;&#xff0c;眉头紧锁。 此前他试过硬闯…

以楼宇自控系统为核心,整合多维度技术,打造智能建筑解决方案

在数字化浪潮席卷建筑行业的当下&#xff0c;“智能建筑” 已从概念走向大规模落地&#xff0c;其核心诉求不再是单一设备的智能化&#xff0c;而是建筑整体的 “感知、分析、决策、执行” 闭环能力。传统智能建筑常陷入 “技术堆砌” 困境 —— 暖通、安防、照明等系统各自为政…

阿里云服务器 篇一(加更):设置二级域名通配符证书

文章目录 样例网站 系列文章 域名注册 为单个域名添加SSL证书 申请 通配符域名 + 根域名 证书 已申请通配符证书,补申请一个根域名证书 更改Nginx配置,统一使用通配符域名证书 替换所有https服务的证书为通配符证书 统一处理http请求跳转https服务 对所有未定义二级域名的统一…

汽车电子工厂静电腕带监控仪双回路设计降低设备采购成本

在汽车电子制造中&#xff0c;静电放电&#xff08;ESD&#xff09;风险贯穿从PCB焊接、元件装配到成品测试的全流程。在新能源汽车零部件产线中需处理大量精密电子组件&#xff0c;静电隐患导致的典型问题包括&#xff1a;元件损伤&#xff1a;ESD瞬时电压可能击穿芯片或导致焊…

Linux操作系统—进程

进程&#xff08;process&#xff09;&#xff1a;&#xff08;1&#xff09;进程的定义&#xff1a;正在进行的程序&#xff0c;会去分配内存资源(mem)&#xff0c;cpu的调度 &#xff0c;(flash ssd:固态硬盘)目的&#xff1a;为了实现并发&#xff0c;同一时刻执行多任务&am…

win11的WSL安装CentOS9-Stream,并且安装docker,使用第三方工具连接linux

前面写了一个安装centos8的文章&#xff0c;但是发现centos8有很多限制&#xff0c;很多东西不能用&#xff0c;于是果断放弃 一、打开windows的虚拟机功能 自行百度 二、下载CentOS9-Stream系统 1、下载 地址&#xff1a;https://github.com/mishamosher/CentOS-WSL 请下…

TypeScript实战:轻松实现数字序号转中文大写数字

在前端开发中&#xff0c;我们经常会遇到【将数字序号转换为中文大写数字】的需求——比如表单步骤条显示“第一步”而非“第1步”、文章章节标题用“三”代替 “3”等。今天就带大家拆解这个常见需求的实现思路&#xff0c;用TypeScript写出简洁又安全的转换函数。 一、需求明…

【C++游记】栈vs队列vs优先级队列

枫の个人主页 你不能改变过去&#xff0c;但你可以改变未来 算法/C/数据结构/C Hello&#xff0c;这里是小枫。C语言与数据结构和算法初阶两个板块都更新完毕&#xff0c;我们继续来学习C的内容呀。C是接近底层有比较经典的语言&#xff0c;因此学习起来注定枯燥无味&#xf…

2025年网络安全技能竞赛“观安杯”管理运维赛 WEB/PWN WP

blindpwn寻找漏洞点上来先看到让输入的有长度和数据&#xff0c;其他先不管&#xff0c;测试一下长度&#xff0c;发现最大为16然后blind pwn一般的话有栈溢出和格式化字符串两种&#xff0c;这里先测试一下格式化字符串然后就会发现啥也没有&#xff0c;但是会发现一些事情有一…

Linux 打包及压缩基础知识总结

一、gz 包1、常用命令命令格式&#xff1a;压缩&#xff1a;gzip [option] filename解压&#xff1a;gunzip [option] filename 常用选项&#xff1a;-c &#xff1a; 将压缩数据输出到标准输出中&#xff0c;并保留原文件-d &#xff1a; 解压缩,相当于gunzip-f &#xff1a; …

FOC算法第三节 等幅值变换与克拉克逆变换

FOC的过程其实就是输入需求的电机力矩&#xff0c;把需求的电机力矩转化为三相线电压输出&#xff0c;并且让电机物理输出你所需求的力矩的过程&#xff0c;这也被称为电机控制三环中的力矩环&#xff0c;所有后面的位置闭环和速度闭环都得基于这个力矩环&#xff0c;而这个力矩…

解析蛋白质三维结构-Bio3D R包

最近休息时阅读了一本书&#xff1a; 在书本第5章结构信息学章节的末尾&#xff0c;看到了一个练习题&#xff0c;张贴如下&#xff1a; 这里作者提到了一个R包&#xff0c; 看着挺有意思的&#xff0c;所以就决定小学一下&#xff0c;毕竟这年头搞分子动力学起码是python重火…

【开发便利】让远程Linux服务器能够访问内网git仓库

打通网络壁垒&#xff1a;本地Windows直连内网Git的远程开发终极指南 场景痛点 开发主力是一台云端的 Linux 服务器&#xff0c;代码却存放在无法被公网访问的公司内网 Git 仓库中。 本文利用 Windows 电脑作为“网络桥梁”&#xff0c;搭建一条能自动重连的 SSH 隧道&#xff…

STM32学习日记

ADCADC简介ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁12位逐次逼近型ADC&#xff0c;1us转换时间输入电压范围&#xff1a;0~3.3V&#xff0c;转换结果范围&#xff…

文生3D实战:用[灵龙AI API]玩转AI 3D模型 – 第7篇

在前几篇文章中&#xff0c;我们已经体验了文生视频、图生视频、文生图、图生图、AI翻唱 等功能。本篇将进入更高阶的领域 —— 文生3D。借助 [灵龙AI API]&#xff0c;你不仅能生成静态的 3D模型&#xff0c;还可以快速产出 场景、角色、动画&#xff0c;为游戏开发、虚拟人、…

林粒粒视频笔记4-numpy

需要先安装2个库&#xff0c;一个是代码运行平台&#xff1a;pip3 install notebook还有一个numpy&#xff1a;pip3 install numpy1、在cmd运行环境>>jupyter notebook&#xff0c;浏览器自动打开页面如下&#xff1a;2、创建一个一维数组和二维数据3、分别打印这2个数组…

Hadoop MapReduce 任务/输入数据 分片 InputSplit 解析

InputSplitInputSplit 是对 MapReduce 作业输入数据的一种逻辑划分。它并不直接包含数据本身&#xff0c;而是包含了处理一小块数据所需的信息&#xff0c;比如数据的位置、起始点和长度。框架会为每个 InputSplit 创建一个 Mapper 任务。从InputSplit.java 的注释中我们可以得…

【力扣】面试经典150题总结04-区间/栈

1.汇总区间&#xff08;简单&#xff09;判断连续的范围&#xff0c;记录每个区间的首尾&#xff0c;存进list。2.合并区间&#xff08;中等&#xff09;先按照左端点排序&#xff0c;然后判断右端点是否和下个区间的左端点重合&#xff0c;重叠进行合并。3.插入区间&#xff0…

SpringBoot 常用跨域处理方案

1.什么是跨域&#xff1f; 跨域是浏览器为了保障安全而遵循的一种规则&#xff0c;是同源策略的一部分。 同源&#xff1a;要求协议、域名、端口三者完全相同。 跨域&#xff1a;只要协议、域名、端口中有任何一个不同&#xff0c;浏览器就会判定为跨域请求。 跨域&#xf…

Springboot框架的“上海迪士尼”旅游管理网站设计与开发(代码+数据库+LW)

摘 要 随着旅游行业的不断发展&#xff0c;特别是主题公园的快速增长&#xff0c;如何通过现代信息技术提升旅游服务质量与管理效率成为了行业的重要课题。上海迪士尼作为中国乃至全球知名的主题公园&#xff0c;其旅游管理网站的设计与开发&#xff0c;不只需要满足游客对信…