为何终端运行Python程序无法导入pynput,PyCharm却可以?
排查
ModuleNotFoundError: No module named 'pynput' 的实用步骤 1. 确认pip与Python版本匹配
多Python版本共存是这类问题的高发原因,先核对版本对应关系:
- 查看运行代码的Python版本:执行
python --version - 查看pip对应的Python版本:执行
pip --version,输出会显示关联的Python路径 - 若版本不匹配,用对应版本的pip重新安装:
Windows下可尝试py -3 -m pip install pynput,或直接用Python路径指定pip,比如C:\Python39\Scripts\pip.exe install pynput;Linux/macOS用python3 -m pip install pynput
2. 检查虚拟环境状态
如果代码在虚拟环境中运行,但安装时未激活虚拟环境,模块会被装到全局Python,虚拟环境无法识别:
- 激活你的虚拟环境:Windows执行
venv\Scripts\activate,Linux/macOS执行source venv/bin/activate - 激活后重新执行
pip install pynput
3. 验证pynput的安装路径
- 执行
pip show pynput,记录输出中的Location字段 - 执行
python -c "import sys; print(sys.path)",检查pynput的安装路径是否在sys.path列表内 - 若不在,可在代码开头手动添加路径:
import sys sys.path.append("pynput的安装路径") from pynput.keyboard import Key, Controller
4. 排除命名冲突
- 确保你的脚本文件名不是
pynput.py,否则会和模块名冲突,导致Python误导入自身脚本 - 检查脚本所在目录下是否有
pynput.py或pynput.pyc文件,存在则直接删除
5. 强制重新安装修复损坏文件
若之前安装存在文件损坏,执行强制重装:
pip install --force-reinstall pynput
内容的提问来源于stack exchange,提问作者dll
相关产品推荐
相关产品推荐

