我的电脑上装了两个版本的python,一个32位3.8,一个64位11。为了让程序在同事的32位win7上运行,我把项目的虚拟环境设置成python3.8的,可是打包之后的exe在win7上运行时还是提示【winerror 216】该版本的1%与您运行的windows版本不兼容。大神看一下是咋回事。按说新的虚拟环境是32位3.8,所有pip安装的库也都是32位的啊,为啥pyinstaller出来的还是64位的系统。
引用 皆我百晓生 小程序回复内容作答:
根据您的描述,问题可能出在使用了pyinstaller打包程序时。pyinstaller默认会根据当前系统的位数来选择打包成32位还是64位的可执行文件。即使您的虚拟环境是32位的,但如果您在64位的系统上使用pyinstaller打包,生成的可执行文件仍然是64位的。
为了解决这个问题,您可以尝试以下方法:
确保您在32位的虚拟环境中使用pyinstaller进行打包。可以通过在命令行中激活虚拟环境,然后使用虚拟环境中的pyinstaller命令来打包程序。
如果您的操作系统是64位的,可以考虑在32位的虚拟机或者另一台32位的机器上进行打包,以确保生成的可执行文件是32位的。
另外,您还可以尝试使用pyinstaller的一些参数来指定打包成32位的可执行文件。例如,可以使用'--target=win32'参数来指定生成32位的可执行文件。
希望以上方法能够帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我能够更好地帮助您。
【相关推荐】