解决ModuleNotFoundError: No module named 'pydirectinput'及exe闪退问题
解决方案
一、解决命令行运行时的ModuleNotFoundError
1. 确认命令行使用的Python解释器与PyCharm一致
- 在PyCharm中查看当前项目的Python解释器路径:
File > Settings > Project: [你的项目名] > Python Interpreter,复制路径(例如C:\Users\XXX\AppData\Local\Programs\Python\Python310\python.exe)。 - 打开命令行,输入
where python,对比输出的路径与PyCharm中的路径是否一致。如果不一致,直接使用完整路径运行脚本:C:\你的Python路径\python.exe main.py
2. 激活虚拟环境(如果使用了)
如果PyCharm项目用了虚拟环境,命令行需先激活环境再操作:
- 找到虚拟环境的
Scripts目录(例如C:\项目路径\venv\Scripts),在命令行进入该目录后运行:activate - 激活后重新安装
pydirectinput:pip install pydirectinput
3. 强制重新安装模块
若安装存在损坏,执行强制重装命令:
pip install --force-reinstall pydirectinput
4. 检查模块拼写
确认脚本中的导入语句是小写的import pydirectinput,Python模块名大小写敏感,不要写成PyDirectInput。
二、解决auto-py-to-exe打包后闪退问题
1. 选择正确的Python解释器打包
打开auto-py-to-exe,在Python Executable选项中,选择安装了pydirectinput的Python解释器路径(与PyCharm使用的一致)。
2. 显示控制台查看错误
将Console Window选项从Window Based (hide console)改为Console Based,打包后运行exe会弹出控制台,可直接查看具体错误信息,确认是否仍存在模块缺失。
3. 强制指定隐藏导入模块
在auto-py-to-exe的Advanced选项中,添加命令行参数:
--hidden-import pydirectinput
确保打包工具将pydirectinput模块包含进exe文件中。
内容的提问来源于stack exchange,提问作者milan_code
相关产品推荐
相关产品推荐

