Jocke的IOT之路--python程序打包windows篇(异常处理)
一、正常情况
一、安装Pyinstaller
1、安装pywin32
- 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装
- 使用pip命令安装:pip install pywin32
2、安装Pyinstaller
- 下载安装文件安装:官网
- 使用pip命令安装:pip install PyInstaller
二、使用Pyinstaller
1、使用下载安装的方式安装的Pyinstaller打包方式
将需要打包的文件放在解压得到的Pyinstaller文件夹中,打开cmd窗口,把路径切换到当前路径打开命令提示行,输入以下内容(最后的是文件名):
- python pyinstaller.py -F myfile.py
2、使用pip方式安装的Pyinstaller打包方式
打开cmd窗口,把路径切换到文件所在路径(文件随便放在哪里都行)打开命令提示行,输入以下内容(最后的是文件名):
- pyinstaller -F myfile.py
3、输入参数的含义
-
-F 表示生成单个可执行文件
-
-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-
-p 表示你自己自定义需要加载的类路径,一般情况下用不到
-
-i 表示可执行文件的图标
二、不正常情况下
1.第三方库不在打包程序文件夹下,打包后即使成功也会异常或者程序运行时闪退。
解决办法 将第三方包考在相应程序目录下,再开始打包
本人目前没有遇到类似问题。
2.pyinstaller无法安装 使用pip install pyinstaller 命令安装后cmd窗口报错 就是更新pip依然报错
解决办法: 手动安装 在pyinstaller下载安装包 官网链接:http://www.pyinstaller.org/
我安装python版本3.7 目前pyinstaller已经支持3.7 直接下载到本地
解压 将目录文件考到python 执行目录下 不考也可以 python 和pip要在系统中配置环境变量
cd 到pyinstaller解药后的文件夹下 找到setup.py 文件 执行命令
pyhon setup.py install
亲测 可以成功 但是看到一些论坛上 有的小伙伴 说这个方法不可以 以后遇到问题在总结吧
3.可能会遇到的问题
搜索方法的过程中发现的可能遇到的问题:
1.权限非管理员,安装PyInstaller失败。——>切换到管理员即可
2.需要pywin32之类的前置库。——>这条如果使用【pip install pyinstaller】命令安装会自动下载缺少的库。
以上。
4.64位电脑上打包的程序无法运行在32位上
64位系统上打包的只能运行于64位系统,不过32位系统上打包的的可以运行于32位和64位系统。
所以exe放到其他电脑上若无法运行的话可以看一下两台电脑的位数是不是相同(不过跟windows版本是没有什么关系的,win7上打包的也可以在win10上运行)。
其实这个说法是错误的,程序打包运行在多少位的系统上是取决于本地安装python的位数
如果在64位系统上打包程序,最好将python切换到32位版本,方法:安装32位的python 然后更改python 和pip的 环境变量
然后执行
python
查看目前在的位数,切换到相应程序目录下
重新安装pyinstaller 然后打包程序 就可以使用了。

浙公网安备 33010602011771号