PySimpleGUI模块未找到:Python打包exe失败求助
解决PyInstaller打包PySimpleGUI程序时的"module not found"错误
1. 确保激活项目的虚拟环境
你的PySimpleGUI仅存在于项目的venv中,打包前必须激活该虚拟环境:
- 打开命令行,进入项目根目录,执行:
venv\Scripts\activate - 激活成功后,命令行开头会出现
(venv)标识,此时执行pip list确认PySimpleGUI已安装在当前环境中。
2. 重新生成打包配置并指定正确路径
避免使用旧的spec文件,直接用PyInstaller带参数生成新配置:
pyinstaller --onefile --hidden-import=PySimpleGUI --paths=venv\Lib\site-packages your_script.py
这里的--paths只需要指定venv的site-packages目录即可,无需额外添加系统Python路径。
3. 检查并修正spec文件
打开生成的your_script.spec文件,确认以下配置:
pathex字段包含venv的site-packages路径:pathex=['C:\\YourProjectRoot\\venv\\Lib\\site-packages']hiddenimports字段明确列出PySimpleGUI:hiddenimports=['PySimpleGUI']
如果使用了PySimpleGUI的子模块(如PySimpleGUIQt、PySimpleGUIWeb),需要将对应的子模块也加入hiddenimports,例如hiddenimports=['PySimpleGUI', 'PySimpleGUI.PySimpleGUIQt']。
4. 基于修正后的spec文件重新打包
执行以下命令完成打包:
pyinstaller your_script.spec
确保使用的是虚拟环境内的PyInstaller(激活venv后直接调用即可)。
5. 排除系统PATH干扰
你之前添加的系统Python site-packages路径对本次打包无帮助,反而可能导致PyInstaller混淆依赖来源。打包过程中无需依赖该PATH,保持虚拟环境激活状态即可。
内容的提问来源于stack exchange,提问作者Carina
相关产品推荐
相关产品推荐

