ESP-IDF v3.3.5安装疑问:Python包必要性及404问题求助
背景
我正按照指南搭建用于ESP-WROVER-KIT的Espressif ESP-IDF v3.3.5开发环境,以便在Eclipse中开发。已完成以下操作:
- 下载指定的
esp32_win32_msys2_environment_and_toolchain_idf3-20201104.zip并解压至C:\msys32 - 创建
~/esp目录,成功克隆ESP-IDF v3.3.5版本 - 配置永久
IDF_PATH环境变量
后续发现指南流程有分支:一处引导返回「开始项目」步骤,跳过「安装所需Python包」环节;但我尝试执行该环节时,发现环境无可用Python,使用命令pacman -S mingw-w64-i686-python2安装时,所有源均返回404错误。
现咨询两个问题:
- 我是否必须执行「安装所需Python包」这一步骤?
- 若需要执行,如何获取可用Python(不确定需2还是3,推测Python2可行),以安装requirements.txt中的依赖包,该文件内容如下:
# This is a list of python packages needed for ESP-IDF. This file is used with pip. # Please see the Get Started section of the ESP-IDF Programming Guide for further information. # setuptools # The setuptools package is required to install source distributions and on some systems is not installed by default. # Please keep it as the first item of this list. # pyserial>=3.0 future>=0.15.2 cryptography>=2.1.4 pyparsing>=2.0.3,<2.4.0
补充:我已安装Arduino IDE 2.7.1及适配Eclipse的Slober版本,且曾用Eclipse完成其他项目开发。
问题解答
1. 是否必须安装所需Python包?
必须执行这一步。ESP-IDF v3.3.5的核心工具(比如esptool.py烧录工具、idf.py构建脚本)都依赖Python包才能运行,跳过的话后续编译、烧录项目大概率会报错。指南里的分支可能是针对已提前配置好Python环境的用户,你当前环境没有Python,必须完成这个环节。
2. 如何获取可用Python并安装依赖?
关于Python版本
ESP-IDF v3.3.5官方推荐使用Python 2.7,但也兼容Python 3.6+。从你的requirements.txt来看,cryptography>=2.1.4在Python 2.7上仍能支持,所以选Python 2.7或3.6+都可以。
解决pacman源404的替代方案
由于旧版msys2的源已经失效,直接用pacman安装Python会失败,推荐两种方法:
方法一:使用Arduino IDE自带的Python
你已安装的Arduino IDE 2.7.1自带Python环境,可直接调用它来安装依赖:- 找到Arduino IDE的Python路径,一般为
C:\Program Files\Arduino IDE\resources\app\core\backend\python3(根据实际安装路径调整) - 打开msys2终端,执行命令:
/c/Program\ Files/Arduino\ IDE/resources/app/core/backend/python3/python.exe -m pip install -r $IDF_PATH/requirements.txt - 验证:终端输入
python --version确认能正常调用,再执行pip list检查依赖是否安装完成。
- 找到Arduino IDE的Python路径,一般为
方法二:手动安装Python到系统
- 从Python官网下载对应版本的安装包(选32位版本适配msys2的i686环境,Python 2.7或3.6+均可)
- 安装时勾选「Add Python to PATH」
- 打开msys2终端,执行
python --version确认能正常调用 - 执行命令安装依赖:
pip install -r $IDF_PATH/requirements.txt
内容的提问来源于stack exchange,提问作者Rex Brown

