You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pymodbus导入报错:找不到pymodbus.server.asynchronous模块

问题详情
  • 设备:运行截至2023年2月9日最新Raspbian系统的Raspberry Pi 4
  • Python版本:3.9.2
  • 操作步骤:执行pip3 install -U pymodbus[twisted]安装Pymodbus,安装过程中提示twisted不可用
  • 报错情况:运行原有代码时,在from pymodbus.server.asynchronous import StartTcpServer, StopServer代码行触发报错:ModuleNotFoundError: No module named 'pymodbus.server.asynchronous'
  • 背景信息:该代码在2021年Python 3.7环境下可正常运行,初步判断是Pymodbus版本兼容问题
  • 完整报错回溯:
Traceback (most recent call last):
  File "/home/pi/mohm-lhf/Program2.py", line 11, in <module>
    from communication import MODBUS
  File "/usr/lib/python3/dist-packages/shiboken2/files.dir/shibokensupport/__feature__.py", line 142, in _import
    return original_import(name, *args, **kwargs)
  File "/home/pi/mohm-lhf/communication.py", line 8, in <module>
    import modbus_server as server
  File "/usr/lib/python3/dist-packages/shiboken2/files.dir/shibokensupport/__feature__.py", line 142, in _import
    return original_import(name, *args, **kwargs)
  File "/home/pi/mohm-lhf/modbus_server.py", line 13, in <module>
    from pymodbus.server.asynchronous import StartTcpServer, StopServer
  File "/usr/lib/python3/dist-packages/shiboken2/files.dir/shibokensupport/__feature__.py", line 142, in _import
    return original_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'pymodbus.server.asynchronous'
原因分析

Pymodbus在v3.0版本后完成了架构重构,移除了旧的asynchronous模块,异步服务器相关的API被迁移到pymodbus.server下的不同子模块中;同时Twisted后端的支持方式也发生了变更,导致旧代码的导入路径完全失效。

解决方法

方法1:降级到兼容旧代码的Pymodbus版本

安装v2.x系列的稳定版本(比如v2.5.3),该版本保留了原有异步模块的结构:

  1. 先卸载当前安装的新版本:
pip3 uninstall -y pymodbus
  1. 安装指定版本及Twisted依赖:
pip3 install pymodbus==2.5.3 twisted

方法2:修改代码适配Pymodbus v3.x版本

如果想要使用最新版本,需要调整代码中的导入和服务器启动逻辑:

  1. 替换导入语句:
    原代码导入:
from pymodbus.server.asynchronous import StartTcpServer, StopServer

替换为(以asyncio后端为例,若需使用Twisted后端需单独安装对应依赖):

from pymodbus.server import StartAsyncTcpServer
from pymodbus.server.async_io import ModbusServerStop
  1. 调整服务器启动的参数和逻辑,可参考Pymodbus内置的异步服务器示例代码进行适配。

内容的提问来源于stack exchange,提问作者Clóvis Fritzen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:45:41