说明:原来安装的python为64位,故安装的pyinstaller和打包后的exe都为64位。而64位的exe文件在32位的win7操作系统下是无法执行的,显示不兼容。网上查询发现,简单(可能不方便)的方法是采用32位的python重新打包。这里,我使用的是conda构建32位python环境,然后再次打包。安装Anaconda的方法,感兴趣的可以查看。具体操作如下:
构建32位python环境
进入命令提示符窗口
1
2
3
4
5
|
set CONDA_FORCE_32BIT = 1 / / 切换到 32 位 conda create - - name python36 python = 3.6 / / 创建一个python3. 6 的环境,命名为python36 conda info - - envs / / 查看是否添加成功 activate python36 / / 切换到python3. 6 环境 python - - version / / 确认python环境 |
安装pyinstaller
注:这一步是必须的,如果不在该环境下安装,还是使用原来的pyinstaller,那么打包的程序仍然为64位
1
2
|
pip - V / / 再次确认是否为 32 位的pip pip install pyinstaller / / 安装pyinstaller |
然后pyinstaller -F xxx.py
就可以开开心心打包32位的exe程序了。不过如果您的.py文件用到了其它第三方库,那么还需要在此环境下再次安装,不然打包成32exe程序会无法运行。。
后记:怎样知道exe程序是否为32位?
这个还是耽误了会儿时间的,网上查询发现是用记事本打开exe程序观察。然而我用notepad++打开打包的exe程序,发现是这样:
找了半天也没找到,怎么看是否为32位。最后想到之前安装的DTDebug,只能打开32位的exe程序,64位的还打不开。然后先试的64位确定为打不开,后试的32位,打开了。
总结
以上所述是小编给大家介绍的如何使用pyinstaller打包32位的exe程序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://www.cnblogs.com/sfriend/archive/2019/05/25/10923330.html