如何使用pyinstaller打包32位的exe程序

yipeiwu_com6年前Python基础

说明:原来安装的python为64位,故安装的pyinstaller和打包后的exe都为64位。而64位的exe文件在32位的win7操作系统下是无法执行的,显示不兼容。网上查询发现,简单(可能不方便)的方法是采用32位的python重新打包。这里,我使用的是conda构建32位python环境,然后再次打包。安装Anaconda的方法,感兴趣的可以查看。具体操作如下:

构建32位python环境

进入命令提示符窗口

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位

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程序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python中使用smtplib和email模块发送邮件实例

SMTP模块这么多已定义的类中,我们最常用的的还是smtplib.SMTP类,就具体看看该类的用法:smtp实例封装一个smtp连接,它支持所有的SMTP和ESMTP操作指令,如果hos...

浅谈Python类的__getitem__和__setitem__特殊方法

一个有点绕的例子,用PyScripter调试器步进跟踪可以看清楚对 象结构的具体细节。 对原作改变了一下,在未定义子对象属性时__getitem__中使用现成的__setitem__来定...

Python从零开始创建区块链

Python从零开始创建区块链

作者认为最快的学习区块链的方式是自己创建一个,本文就跟随作者用Python来创建一个区块链。 对数字货币的崛起感到新奇的我们,并且想知道其背后的技术——区块链是怎样实现的。 但是完全搞懂...

简述Python中的进程、线程、协程

进程、线程和协程之间的关系和区别也困扰我一阵子了,最近有一些心得,写一下。 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。 线程拥有自己独立的栈和共享的堆,共享堆...

PyQt5每天必学之进度条效果

PyQt5每天必学之进度条效果

进度条是,当我们处理冗长的任务时使用的控件。它是以动画的形式让用户知道该任务正在取得进展。该QProgressBar控件提供一个水平或垂直进度条。程序员可以设置进度条的最小值和最大值。默...