您当前的位置:首页 > 计算机 > 编程开发 > Python

如何在Win 64系统下打包可在Win 32系统下运行的可执行程序

时间:12-29来源:作者:点击数:

问题引出

在Windows 64位系统下打包的Python程序,在64位系统下运行没有问题,但是在32位系统下运行时,弹出如图1所示的错误,该如何解决呢?


图1  运行EXE可执行文件时提示错误

解决方案

由于我们在打包EXE可执行文件时,会将Python解释器也一并打包。此时,如果我们在打包程序时,使用64位的Python解释器,打包进去的也是64位的Python解译器。对于64位的Python解释器只能在64位的系统下运行。所以在32位系统下将不能运行使用64位系统打包的可执行文件。而对于32位的Python解释器,则既可以在32位系统下运行,又可以在64位系统下运行。所以得出具体的解决方法为安装32系统的Python解释器,然后使用该解释器重新打包EXE可执行文件。如果使用第三方模块,还需要在该解释器下重新安装。

如果电脑中已经安装了64位的Python解释器应该怎么办法呢?用不用把原来的Python卸载,再重新安装32位的呢?答案是否定的。可以不用卸载已经安装的Python解释器,直接安装即可。具体步骤如下。

(1)下载32位的Python解释器并安装,安装过程中,选中“Add Python 3.X to PATH”复选框 ,让安装程序自动配置环境变量。

说明:上面的3.X为您要安装的Python版本,例如,安装的是3.7.0,则为3.7,如图2所示。


图2  Python安装向导

(2)安装完成后,找到该版本的Python的安装目录,将其中的python.exe修改为其他名字(例如,加上37_32,即python37_32.exe),用于区分以前的版本。

(3)在32位Python解释器下安装需要的第三方模块。具体语法格式如下:

python37_32 -m pip install 第三方模块名

其中,-m表示以模块方式运行某个脚本。此参数为必填参数,否则将提示“can't open file 'pip'……”错误。

例如,安装打包模块Pyinstaller的命令如下:

python37_32 -m pip install pyinstaller

(4)在CMD命令行窗口中,进入到32位Python解释器安装目录下的Scripts子目录,例如,该目录为“C:\Python\Python37-32\Scripts”,则在命令提示符后面输入以下命令。

cd C:\Python\Python37-32\Scripts

(5)通过32位Python解释器打包程序。例如,打包E:\studentsystem.py程序,则可以使用下面的命令:

python37_32 pyinstaller-script.py -F E:\studentsystem.py

这样打包后的可执行文件既可以在32位Windows系统下运行,又可以在64位Windows系统下运行。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门