导入MinimalModbus报AttributeError: module 'serial'无'Serial'属性如何解决
错误根因
该报错是由于Python环境中存在同名模块冲突:minimalmodbus依赖的是pyserial库(导入时使用import serial语法),但你当前环境安装了另一个无关的同名serial库,或本地存在名为serial.py的自定义文件,导致导入的serial模块不存在Serial类。
解决步骤
- 第一步:卸载所有冲突包及相关依赖,清除残留
执行以下命令:
pip3 uninstall -y serial pyserial minimalmodbus
- 第二步:按顺序重新安装正确依赖
# 先安装指定版本pyserial pip3 install pyserial==3.4 # 再安装minimalmodbus pip3 install minimalmodbus
- 第三步:排查本地文件冲突
检查你运行testmodbus.py的当前目录下,是否存在名为serial.py的文件、serial.pyc的缓存文件,或名为serial的文件夹,如果有需要对其重命名或移动到其他目录,避免优先导入本地文件。 - 第四步:验证修复效果
运行以下测试代码:
import serial # 打印serial模块的安装路径,确认路径为pyserial的安装目录而非本地文件 print(serial.__file__) import minimalmodbus print("模块导入成功")
如果运行后无报错且打印"模块导入成功",说明问题已解决。
内容的提问来源于stack exchange,提问作者MarioC
相关产品推荐
相关产品推荐

