Python串口连接失败:已安装pyserial仍报ModuleNotFoundError: No module named 'serial'
解决Python串口连接的ModuleNotFoundError: No module named 'serial'问题
我来帮你排查这个问题——你已经成功安装了pyserial,而且设备管理器里COM8端口状态正常,那报错的核心原因大概率是Python环境不匹配,和串口本身无关。下面是几个针对性的解决步骤:
1. 确认Python环境与pip的对应关系
很多人电脑里会同时存在多个Python版本(比如系统自带的、手动安装的、Anaconda环境等),你用pip install pyserial安装的库可能没在当前运行代码的那个Python环境里。
解决方法:
- 先找出当前运行代码的Python路径:在你的测试代码开头添加两行:
运行后会输出类似import sys print(sys.executable)C:\Users\YourName\AppData\Local\Programs\Python\Python310\python.exe的绝对路径。 - 用这个路径对应的pip重新安装pyserial,比如在CMD里执行:
C:\Users\YourName\AppData\Local\Programs\Python\Python310\Scripts\pip.exe install pyserial - 或者更简便的方式:直接用
python -m pip install pyserial命令安装,这样能确保使用的是当前Python环境关联的pip(前提是你CMD里的python命令对应运行代码的版本)。
2. 检查IDE的解释器配置
如果你是用VS Code、PyCharm等IDE运行代码,要确认IDE选中的Python解释器是否是安装了pyserial的那个版本:
- VS Code:点击左下角显示的Python版本号,在弹出的列表中切换到正确的环境。
- PyCharm:通过
File > Settings > Project: [你的项目名] > Python Interpreter路径,在解释器列表中选择已安装pyserial的版本。
3. 验证模块是否能正常导入
在CMD中直接运行Python,输入import serial并回车,如果没有报错,说明pyserial已经正确安装在该环境中,那问题就出在IDE的解释器配置上,回到步骤2调整即可。
内容的提问来源于stack exchange,提问作者engr_john




