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

已安装pynput模块仍提示ModuleNotFoundError的问题解决咨询

解决ModuleNotFoundError: No module named 'pynput'问题(明明已安装模块)

我太懂这种明明装了模块却报错的憋屈感了!先梳理下你的问题场景:

你的代码:

import random
import time
import pynput
import pynput.keyboard as kb
import pynput.mouse as ms
mouse = ms.Controller()
keyboard = kb.Controller()

遇到的错误:

Traceback (most recent call last):
  File "c:\Users\user\Documents\visual studio code\notepadtest.py", line 1, in <module>
    from pynput import *
ModuleNotFoundError: No module named 'pynput'

(注:错误里写的是from pynput import *,和你代码里的导入方式略有差异,但问题根源完全一致)

这种情况90%都是Python环境不匹配导致的——你用pip3安装的模块,和运行代码时用的Python解释器根本不是同一个!给你几个一步步排查的解决方案:


1. 先检查VS Code的Python解释器选择

因为你是在VS Code里运行代码,首先确认编辑器用的版本和安装模块的版本一致:

  • 点击VS Code右下角显示的Python版本号(比如Python 3.10.x)
  • 在弹出的列表里,选择和你用pip3安装时对应的Python版本(比如如果pip3属于Python3.10,就选这个版本)
  • 重新运行代码试试

2. 用Python解释器直接指定安装

有时候pip3和python命令的对应关系会混乱,直接用Python命令安装更靠谱:

  • Windows系统:打开命令提示符,运行py -3 -m pip install pynput(py命令会自动匹配系统里的Python3版本)
  • macOS/Linux系统:运行python3 -m pip install pynput
    这样安装的模块肯定和你用来运行代码的Python3版本完全对应。

3. 检查是否启用了虚拟环境

如果你之前创建过虚拟环境(比如venv),那pip3可能把模块装到了全局环境,但VS Code运行代码时用的是虚拟环境:

  • 先激活你的虚拟环境:Windows下运行venv\Scripts\activate;macOS/Linux下运行source venv/bin/activate
  • 在激活的环境里重新运行pip install pynput
  • 回到VS Code再次运行代码

4. 验证模块安装路径是否在Python搜索路径中

如果上面的方法都没用,咱们来查根因:

  1. 运行pip3 show pynput,找到输出里的Location字段,比如C:\Users\user\AppData\Local\Programs\Python\Python310\Lib\site-packages
  2. 打开Python交互式终端(运行python3或者VS Code里的Python终端),输入:
    import sys
    print(sys.path)
    
  3. 看看刚才的Location路径是否在输出的列表里。如果不在,说明运行代码的Python解释器找不到这个模块,此时要么把模块装到该解释器的site-packages目录,要么不推荐治标不治本的方法:把路径手动添加到sys.path里

按这几步排查,基本就能解决问题啦!

内容的提问来源于stack exchange,提问作者idiotcoder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 17:07:48