64位Python 3.9.2下使用PyInstaller/py2exe打包报WinError 193错误
多打包工具触发WinError 193 排障方案
报错[WinError 193] %1 is not a valid Win32 application和打包工具本身无关,核心是程序架构不匹配——你连续在PyInstaller、py2exe、Auto Py to Exe上遇到同类报错,基本可以排除工具本身的bug,直接按以下步骤排查即可。
排查操作步骤
- 核对解释器与组件的架构一致性
你当前使用64位Python 3.9.2,首先要确认已安装的py2exe、PyInstaller都是适配64位的版本,不能误用32位编译的组件。可通过两个命令快速验证:- 在Python交互终端执行
import platform; print(platform.architecture()),确认输出为('64bit', 'WindowsPE') - 执行
where python检查系统环境变量的优先级,确保之前残留的32位Python路径没有排在64位路径前面,避免执行命令时实际调用了32位解释器
- 在Python交互终端执行
- 清理环境内架构不匹配的残留文件
如果你之前安装过其他版本的Python,旧目录下可能残留32位的dll、带C扩展的第三方库文件,打包工具扫描依赖时会把这些无效文件纳入打包范围,直接触发报错。建议新建干净的虚拟环境,只安装MC.py运行必需的依赖、以及对应64位版本的打包工具,在虚拟环境内执行打包操作,避开旧环境的文件干扰。 - 清理打包缓存后重试
把之前打包生成的build、dist文件夹全部删除,你当前编写的setup.py代码逻辑没有问题,不需要做结构调整。打包前先直接执行python MC.py,确认脚本在当前环境能正常启动,再执行打包命令,避免脚本本身的依赖加载错误被误判为打包环节的问题。
你实际执行的命令及运行结果
PS C:\Users\nstil\Desktop\Coding\MC> python setup.py py2exe running py2exe error: [WinError 193] %1 is not a valid Win32 application你的setup.py代码内容
from distutils.core import setup import py2exe setup(console=['MC.py'])
内容的提问来源于stack exchange,提问作者Noah
相关产品推荐
相关产品推荐

