【小技巧】ESP-IDF“Failed to set target esp32c3: non zero exit code 1:Requirement ‘setuptools<71.0.1,>=21’
千万不要用系统 Python 的 pip,必须用 ESP-IDF 自带环境里的 pip(也就是报错里显示的。的要求安装依赖,但有时网络环境不稳定会失败,所以手动指定版本更快。你需要在 ESP-IDF 的 Python 环境里。打开 ESP-IDF 自带的。也就是说 ESP-IDF。,但是你当前环境里装的是。



ESP-IDF + VScodeb 设置芯片型号的时候报错信息如下:
Failed to set target esp32c3: non zero exit code 1 The following Python requirements are not satisfied: Requirement ‘setuptools<71.0.1,>=21’ was not met. Installed version: 80.9.0 To install the missing packages, please run “install.bat” Diagnostic information: IDF_PYTHON_ENV_PATH: E:\SOFT_WARE\espidf\ins\Espressif\python_env\idf5.4_py3.11_env Python interpreter used: E:\SOFT_WARE\espidf\ins\Espressif\python_env\idf5.4_py3.11_env\Scripts\python.exe Constraint file: E:\SOFT_WARE\espidf\ins\Espressif\espidf.constraints.v5.4.txt Requirement files: - E:/SOFT_WARE/espidf/ins/Espressif/frameworks/esp-idf-v5.4.2/tools\requirements\requirements.core.txt Python being checked: E:\SOFT_WARE\espidf\ins\Espressif\python_env\idf5.4_py3.11_env\Scripts\python.exe ESP-IDF v5.4.2 .
这个报错信息的关键在这里:
Requirement 'setuptools<71.0.1,>=21' was not met. Installed version: 80.9.0
也就是说 ESP-IDF 要求 setuptools 的版本小于 71.0.1,但是你当前环境里装的是 80.9.0,超出了范围,所以 idf.py 启动失败。
✅ 解决方法:
你需要在 ESP-IDF 的 Python 环境里 降级 setuptools。
-
打开 ESP-IDF 自带的 ESP-IDF PowerShell 或 CMD 环境 (
ESP-IDF Command Prompt)。 -
激活你报错里显示的 Python 环境:
E:\SOFT_WARE\espidf\ins\Espressif\python_env\idf5.4_py3.11_env\Scripts\activate -
卸载当前 setuptools:
pip uninstall setuptools -y -
安装符合要求的版本(比如 70.0):
pip install setuptools==70.0(或者指定
70.0.0,保证<71.0.1) -
确认版本:
pip show setuptools -
再次运行:
idf.py set-target esp32c3
⚠️ 注意:
-
千万不要用系统 Python 的 pip,必须用 ESP-IDF 自带环境里的 pip(也就是报错里显示的
idf5.4_py3.11_env)。 -
如果你嫌麻烦,也可以直接运行 IDF 安装目录下的:
install.bat它会自动按
espidf.constraints.v5.4.txt的要求安装依赖,但有时网络环境不稳定会失败,所以手动指定版本更快。

更多推荐
所有评论(0)