Arduino编译ESP32芯片工程报错处理: ModuleNotFoundError: No module named ‘serial‘

       开发环境:Linux(virtualbox虚拟机 ubuntu 22.04)

        背景:尝试在虚拟机环境中将ESP32的集中开发方式完成配置,目前正在尝试完成Arduino开发环境的配置,使用的是一个新建的新虚拟机。

        描述:已经安装完成Arduino,并且在芯片包管理器中下载乐鑫官方的esp32芯片包v2.0.11完成(注:v2.x版本的下载都很顺利,似乎不需要科学上网,但是v3.x版本的就不行,当然笔者并未将v3下的全部版本都尝试一遍)

       现象截图:

       首先根据网络检索结果(啥都没有),排查了ch340驱动未安装(ubuntu自带)

        然后尝试更换芯片,换成“ESP32 Dev Module”再编译,依旧不行。

        刚开始以为,这里的serial库是乐鑫官方编写的串口底层文件,有可能是下载芯片包的时候因为某些原因没有下载成功,于是前往Arduino-ESP32的官方仓库查证,然而在仓库中找不到报错信息中提及的路径和文件。开始怀疑人生....

        之后又经过多次尝试,不断查询报错信息设计到的文件或者路径中出现的文件夹名,终于找到了乐鑫的官方库,链接如下:esptool仓库

        进入esptool文件夹,发现内部本身并没有serial.py文件,又傻了...

        来都来了,索性进入报错的文件(loader.py)内部,看看它是怎么实现导入serial库的,涉及到导库的相关代码细节如下:

        可以看到,在第40行有说明,我们这里导入的库,具体来说,是python的pyserial库,刚好这是台新虚拟机,我还没来得及安装python环境,于是先尝试排查原因是否为python3未安装(ubuntu实际已经自带了)

        打开虚拟机命令行,输入”python3 --version”确认python是否安装,我以为已经找到真相了,然而虚拟机已经自带python了,又懵了...

        好在我已经快要接近终点了,最后终于在检查pyserial库时找到了答案,这个库需要额外安装,之前并没有事先安装,现在只需要补上就好。

        打开命令行,先安装pip工具:

apt install python3-pip

        安装pyserial库:

pip install pyserial

        回到虚拟机的Arduino IDE,重新编译工程,过了!好耶:)

        参考:pyserial,一个实用的串口通信python库

                   乐鑫esptool官方库

### 解决 VSCode 中 `ModuleNotFoundError: No module named 'serial'` 的方法 当在 VSCode 中遇到 `ModuleNotFoundError: No module named 'serial'` 错误时,这通常意味着 Python 环境缺少必要的 `pyserial` 库。为了修复这个问题,可以按照以下方式操作: #### 安装 PySerial 包 通过命令行工具来安装所需的库是一个有效的方法。对于基于 Debian 或 Ubuntu 的 Linux 发行版,可以通过以下两条命令解决问题。 首先确保已经安装了 `pip3` 工具用于管理 Python 3.x 版本下的软件包: ```bash sudo apt install python3-pip ``` 接着使用 pip 来安装 `pyserial` 软件包[^2]: ```bash pip3 install pyserial ``` 如果是在 Windows 上工作,则可以直接跳过第一步而仅执行上述第二步命令来进行 `pyserial` 的安装。 #### 配置 VSCode 的 Python 运行环境 除了正确安装依赖外,还需要确认 VSCode 使用的是正确的 Python 解释器以及适当配置的工作区设置。可以在 `.vscode/settings.json` 文件内加入特定于项目的 PYTHONPATH 设置以帮助解析模块位置[^3]。 例如,在项目根目录创建或编辑 `.vscode/settings.json` 文件并添加如下内容: ```json { "terminal.integrated.env.windows": { "PYTHONPATH": "${workspaceFolder}/" }, "terminal.integrated.env.linux": { "PYTHONPATH": "${workspaceFolder}/" }, "terminal.integrated.env.osx": { "PYTHONPATH": "${workspaceFolder}/" } } ``` 以上 JSON 对象中的键名对应不同的操作系统平台;它们分别指定了 Windows、Linux 和 macOS 下集成终端启动时所使用的环境变量值。 另外,请记得重启 VSCode 让新的配置生效,并验证问题是否得到解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值