Windows环境下,在Vscode里利用ESP-IDF开发ESP32S3项目时,不能构建的问题1及解决方法

一、电脑上开发包安装情况

已经安装了ESP-IDF框架,并安装了Python3.13。如下图所示:

二、现象

在Vscode的Terminal(终端)里执行命令idf.py --version时,提示下图所示错误:

No module named 'click'

This usually means that "idf.py" was not spawned within an ESP-IDF shell environment or the python virtual environment used by "idf.py" is corrupted.

Please use idf.py only in an ESP-IDF shell environment. If problem persists, please try to install ESP-IDF tools again as described in the Get Started guide.

三、问题分析

该错误说明:Python 环境缺少依赖(click)。

造成这个问题的原因:通常是因为没有在 ESP-IDF 的虚拟环境中运行 idf.py 或该 venv 未正确创建或损坏。

四、解决过程

第一步:在D:\esp-idf-v5.5.2(这个是esp-idf根目录)里,执行.\install.ps1。

install.ps1 是 ESP‑IDF 在 Windows 上的安装脚本,用来自动为该 ESP‑IDF 版本安装并配置所需的工具链与依赖。

命令正确执行后,会看到下图所示内容。内容很多,仅截取最后的一部分。重点看第一行和倒数第二行。倒数第一行给出了第二步要执行的命令。

第二步: 在D:\esp-idf-v5.5.2(这个是esp-idf根目录)里,执行.\export.ps1 ,执行后,看到如下提示:

至此,Vscode里的构建环境就成功激活了!

五、验证

环境激活后,可以再构建一下当前的项目,以验证环境配置是否成功。

特别要注意,刚才配置和激活环境时,我们把当前路径切换到了esp-idf的根目录,现在要构建项目,必须切换到项目文件夹里。或者使用绝对路径。

下图是我的项目文件结构:

构建时,应该把当前目录切换到uart_async_rxtxtasks这个文件夹,命令是:

cd D:\esp-idf-v5.5.2\examples\peripherals\uart\uart_async_rxtxtasks 或者

cd .\examples\peripherals\uart\uart_async_rxtxtasks

若直接在 D:\esp-idf-v5.5.2 下执行build,进行项目构建,使用下面的两种方法也可以:

  • idf.py -C D:\esp-idf-v5.5.2\examples\peripherals\uart\uart_async_rxtxtasks build

  • 使用相对路径: idf.py -C .\examples\peripherals\uart\uart_async_rxtxtasks build

构建成功后,可以看到下图所示提示信息:

相关推荐
AIBox3652 小时前
vscode api 配置怎么做:第三方大模型接入 VS Code 的完整方法
ide·人工智能·vscode·gpt·语言模型·编辑器
sz4972385993 小时前
WSL2+VSCode搭建ESP-IDF 开发环境
ide·vscode·编辑器·esp32·wsl
学Linux的语莫3 小时前
vscode连接linux服务器,linux环境编程开发。
linux·vscode·ubuntu·编辑器
SunkingYang3 小时前
怎么将VSCode添加到右键菜单
windows·vscode·注册表·删除·添加·右键菜单
明月夜&4 小时前
Ubuntu 20.04 Docker 部署 Ollama + DeepSeek-Coder:本地 AI 编程助手实战
git·vscode·ubuntu·docker·大语言模型·智能体
码匠许师傅4 小时前
【STM32开发笔记】基于STM32CubeMX2 和STM32CubeIDE for VSCode的全新STM32C5开发体验
笔记·vscode·stm32
Stone_OverLooking4 小时前
vscode 配置Qt qmake项目
ide·vscode·qt
一直会游泳的小猫4 小时前
Pascal Editor:基于 WebGPU 的开源 3D 建筑编辑器技术解析
3d·开源·编辑器
ฅ ฅBonnie5 小时前
使用 VSCODE 连接远程服务器上的容器
服务器·ide·vscode