如何在 Thonny IDE 中正确使用 pyserial 模块实现串口通信

本文详解 AttributeError: module 'serial' has no attribute 'Serial' 错误的成因与解决方案,重点说明在 Thonny 中导入 pyserial 的正确方式、常见陷阱及稳定实践方法。

本文详解 `attributeerror: module 'serial' has no attribute 'serial'` 错误的成因与解决方案,重点说明在 thonny 中导入 pyserial 的正确方式、常见陷阱及稳定实践方法。

在 Thonny IDE 中使用 pyserial 进行串口通信时,出现 AttributeError: module 'serial' has no attribute 'Serial' 是一个高频问题。该错误并非 pyserial 未安装或硬件异常所致,而是由 Python 的模块命名冲突引起:当项目目录(或 Python 路径)中存在名为 serial.py 的本地文件时,Python 会优先导入该文件而非第三方 pyserial 包,导致 serial.Serial 等核心类不可用。

✅ 正确的导入方式应明确指定来源,推荐以下两种安全写法:

方式一(推荐):显式导入类

NoCode

美团推出的零代码应用生成平台

下载

from serial import Serial

connection = Serial('COM3', 115200, timeout=1)

try:
    while True:
        data = connection.readline()
        if data:
            print(data.decode('utf-8', errors='ignore').strip())
except KeyboardInterrupt:
    print("\n串口已关闭")
finally:
    connection.close()

方式二:导入模块并使用全限定名

import serial.tools.list_ports  # 可选:用于枚举可用端口
import serial

# 确保导入的是 pyserial,非本地 serial.py
print("Serial module path:", serial.__file__)  # 调试用:检查实际加载路径

connection = serial.Serial('COM3', 115200, timeout=1)
# ... 后续逻辑同上

⚠️ 关键注意事项:

  • ? 检查命名冲突:在 Thonny 的当前工作目录及子目录中搜索 serial.py 或 serial.pyc,重命名或删除它们;
  • ? 确认安装状态:在 Thonny 的 Shell 中执行 import serial; print(serial.__version__),若报错 ModuleNotFoundError,则需通过 Tools → Manage packages… 安装 pyserial;
  • ?️ Windows 用户注意端口名:COM3 需与设备管理器中显示的实际 COM 端口号一致;macOS/Linux 请使用 /dev/tty.usbserial-* 或 /dev/ttyACM0 等路径;
  • 务必设置 timeout:避免 readline() 永久阻塞,影响程序可控性;
  • ? *不推荐 `from serial import `**:虽然能临时绕过错误,但污染命名空间、降低可读性且掩盖根本问题,不符合 Python 最佳实践。

总结:解决该问题的核心是消除本地 serial.py 的干扰,并采用明确、可维护的导入方式。调试时善用 serial.__file__ 定位真实模块路径,结合 Thonny 内置包管理器确保依赖纯净,即可稳定实现串口数据收发。

相关推荐:

曜越推出 Dockpower FI 电源:插拔对接模块设计,升级可仅更换本体

7 月 8 日消息,Thermaltake(曜越,Tt)现已正式推出 Dockpower FI 电源。这一系列产品在现代模组线材电源的基础上更进一步,将单个电源分解为本体和输出面板模块两部分。曜越表示,这一“对接式”设计不仅在后续升级时仅需更换电源本体,也能便利 DIY 装机:用户可先将电源本体固定到机箱上,然后将线材与对接模块在机箱外部连接,最后再把电源本体与对接模块合为一体,避免了在机箱中走线...

曝英特尔 Nova Lake 处理器仅大核显升级 Xe3P,4P0E 模块基于 Intel 18AP

7 月 8 日消息,消息人士 @jaykihn0 近日进一步确认,Intel(英特尔)接下来要推出的 "Nova Lake" 客户端处理器仅有 12Xe“大核显”版本会将 GPU 架构升级到 Xe3P,4Xe 和 2Xe 的“小核显”仍将基于 Xe3 IP。"Nova Lake" 系列预计被称为酷睿 Ultra(第 4 代)。除移动端外英特尔还将推出配备 12Xe3P 的桌面 SKU,甚至还会有仅...

中际旭创官方回应康宁“玻璃桥”技术影响:并非光模块产品方案替代、公司多元化技术布局可充分适配

7 月 5 日消息,康宁公司在 6 月 24 日举行的“AI 数据中心光通信与互连技术大会”上推出了面向下一代 AI 数据中心架构的玻璃基光互连技术“Glass Bridge(玻璃桥)”,该产品基于玻璃波导技术,用于实现光纤与光子集成电路(PIC)之间的直接光学连接。综合投资者平台信息,中际旭创今天在投资者关系平台上答复投资者关心的问题时,有投资者提问“康宁玻璃桥的推出是否会对公司未来形成利空?”...

小米米家 iOS 版 App 获 11.6.200 更新:新增能源模块、优化设备批量配网等功能

感谢网友 太二真人 的线索投递! 6 月 29 日消息,小米米家 iOS 版 App 今天更新 11.6.200 版本,主要是为场景页面新增了能源模块,以及新增设备批量配网等功能,提升实用性。附本次更新详情如下:新增:场景页面新增能源模块,可查看家中部分智能设备用电情况优化:家庭自动切换功能,根据手机定位展示家庭,可在家庭管理中开启设备批量配网功能,发现多个 BLE Mesh 设备时,可以批量选择...

OpenClaw的RAG模块怎么配置做知识库问答系统?

需配置RAG模块以启用本地知识库问答:一、创建知识库目录并存放支持格式文档;二、执行openclaw install rag安装扩展;三、用openclaw rag init向量化文档;四、启动时加--enable-rag参数;五、通过精准提问验证检索效果。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您已安装 OpenClaw 并希...
· AI · 292497

独家收藏!这6个顶级Skill,才是AI的正确打开方式

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 这个11万Star的必装插件,能让你的Agent体验直接质变 全文速览图最近一直在聊Agent、聊Vibe Coding。 没想到反馈还不错,Skills这块的信息差,比我想的还要大一些= = 然后评论区里就有人问了,还是一个叫tim的朋友,问还有什么必装的Skills。 OpenClaw 开源...
· AI · 103128

QoderWake嵌入式开发配置:连接单片机与串口调试

QoderWake串口通信需四步配置:一、Linux下将用户加入dialout组并验证权限;二、安装启用serial-v1.2 Connector插件;三、为数字程序员角色授权匹配的串口设备正则及日志策略;四、基于协议文档构建闭环调试工作流,并用qoder serial test验证连通性与数据完整性。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门...
· AI · 157536

Darktable如何使用Filmic RGB动态范围处理_Darktable Filmic模块使用教程【高级】

使用darktable的Filmic RGB模块可专业处理RAW动态范围:一、基础校准设黑/白点与8.5档宽容度;二、启用ACES对数编码提升输入精度;三、精细控制输出目标映射;四、避免与基础曲线冲突;五、批量化模板应用确保影调统一。 如果您在处理高光过曝或暗部死黑的RAW照片时,发现常规曝光与对比度调整无法兼顾细节保留与自然过渡,则很可能是动态范围控制失效。以下是使用darktable Film...