最近由于项目需要,以前的python文件需要编辑为EXE供前端客户使用。
由于最早接触的是distutils,所以一开始准备使用distutils和py2exe搭配来进行python的exe化,也就是传统的使用setup.py的方式来进行exe安装。但是结果都不是很好,不是很如人意。并且py2exe所使用的一个python 包互相排斥,只要安装了这个包,就无法进行exe化。甚至代码里面都不需要导入,就会报错。
因此,只能无奈放弃了py2exe工具。转而使用pyinstaller。使用感受真的是甩了py2exe几条街。首先是安装,
pip install pyinstaller
注:pyinstaller最新版本为3.2.1只支持2.7-3.5。但是有最新的开发版在如下链接的develop分支中是支持python3.6的。由于本人使用的是3.6版本。因此也是找了好久。
https://github.com/pyinstaller/pyinstaller
pyinstaller安装好以后,只需要使用pyinstaller 安装包的名字如:
pyinstaller hello.py
便可以将hello文件打包。打包文件在pyinstaller的目录下。可以通过 --distpath=xxxx 参数来修改保存的位置。
还有一些其他的参数本文也是直接找了网上的资料,如下:
发布命令介绍
-
1
有两种方法调用发布流程:
①直接使用Pyinstaller应用程序调用待发布脚本
②用Python调用pyinstaller-script脚本再调用待发布脚本
两种方法用起来没什么差别,方法①少个步骤,就用方法①了咯
-
2
-w指令
直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽
-
3
-F指令
注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹
-
4
-p指令
这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加
原网址:
https://jingyan.baidu.com/article/a378c960b47034b3282830bb.html