Python 3.9中'serial'模块无'Serial'属性报错的解决咨询
解决"module serial has no attribute 'Serial'"报错的额外方案
以下是几个未提及的排查与解决方向:
确认导入的
serial模块来源
在代码开头添加两行打印语句,查看当前serial模块的实际路径:import serial print(serial.__file__)如果输出路径不是pyserial安装目录下的
...\site-packages\serial\__init__.py,说明你导入了其他同名模块/文件,直接删除该路径下的serial相关文件即可。强制重装指定版本的pyserial
用强制覆盖的方式重新安装,避免文件损坏或残留:pip install --force-reinstall pyserial==3.5若你的环境存在多个Python版本,需指定对应版本的pip执行,比如:
python3.9 -m pip install --force-reinstall pyserial==3.5检查IDE的解释器配置
如果你使用VSCode、PyCharm等IDE,确认当前项目绑定的Python解释器是安装了pyserial3.5的版本(尤其是使用虚拟环境的场景)。比如VSCode可通过左下角的Python版本切换入口选择,PyCharm则在File > Settings > Project: xxx > Python Interpreter中查看配置。更换导入写法
尝试直接导入Serial类,替代serial.Serial的调用方式:from serial import Serial serial_port = Serial(port="COM3", baudrate=9600)针对Windows系统,也可直接导入平台对应的实现类:
from serial.serialwin32 import Serial serial_port = Serial(port="COM3", baudrate=9600)彻底清理全局环境冲突
执行pip list查看已安装库列表,确认serial库是否已完全卸载,若仍有残留,执行:pip uninstall -y serial
内容的提问来源于stack exchange,提问作者gowb0w
相关产品推荐
相关产品推荐

