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

Windows 10环境下Python导入serial模块报错ModuleNotFoundError的问题求助

Windows 10环境下Python导入serial模块报错ModuleNotFoundError的问题求助

看起来你这是典型的Python多版本环境不匹配导致的模块找不到问题,我帮你梳理下核心问题和解决办法:

先揪出问题根源

你贴的信息里藏着关键矛盾:

  • 用python --version查到的是Python 3.9.6,pip也是对应3.9版本的(路径里能看到python39)
  • 但运行测试代码时,sys.version输出的却是Python 3.11.3!

这说明你的系统里同时装了Python 3.9和3.11两个版本:你用pip安装的pyserial和serial都在Python3.9的site-packages目录里,但实际运行代码调用的是Python3.11的解释器,自然找不到这些模块。

另外补充下:serial模块确实是pyserial包提供的,你列表里的serial 0.0.97是个无关的第三方包,反而容易混淆,建议卸载掉。

具体解决步骤

  1. 确认当前运行代码的Python路径
    在你的测试代码里加一行:

    import sys
    print(sys.executable)
    

    运行后会得到你实际用的Python.exe完整路径,比如大概率是C:\Users\djcle\AppData\Local\Programs\Python\Python311\python.exe

  2. 给对应Python版本安装pyserial
    用刚才查到的Python解释器路径,通过-m pip安装,确保装到正确环境:

    C:\Users\djcle\AppData\Local\Programs\Python\Python311\python.exe -m pip install pyserial
    
  3. 卸载多余的serial包
    同样用对应版本的pip卸载这个易混淆的包:

    C:\Users\djcle\AppData\Local\Programs\Python\Python311\python.exe -m pip uninstall serial
    

    如果你不需要Python3.9环境,也可以把3.9里的serial包一并卸载。

  4. 验证运行
    之后运行串口脚本时,确保用的是装了pyserial的Python解释器,比如在命令行执行:

    C:\Users\djcle\AppData\Local\Programs\Python\Python311\python.exe your_script_name.py
    

后续避坑提醒

Windows下多Python版本共存时,尽量别直接用pip命令,改用python -m pip的方式,这样能100%保证pip和当前使用的Python解释器匹配,不会再出现“装了模块却找不到”的情况。

备注:内容来源于stack exchange,提问作者David Leckie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 20:15:26