短话简说,打包非常简单
直接根据参数打包就行
目前我测试通过的最完整的打包方式
pyinstaller -F -w -c --clean --icon=ApplicationIcon.ico wxmain.py
-c #可以在控制台打开软件,用于调试,在后面又说
--icon #这是软件图标,下面写的一段是窗口图标,图片具体表达的位置不一样哦
--clean #清除之前的打包文件,重新打包
把窗口图标(bitmapbutton的图标据说也可以通过这种方式,具体没测试过)改成内嵌文本进行打包
以下是完整的流程代码
img2py -n AppIcon -a ApplicationIcon.ico myico.py
把图标放到找个新文件夹放,执行命令
ApplicationIcon.ico这是要打包的图标的名字
myico.py这是要生成的文件名字
完成之后还需要进入文件添加一行代码,否则会报错
这是添加的代码,生成的原文件里面是没有的
from wx.lib.embeddedimage import PyEmbeddedImage
以上就是图标转文本代码,然后放进打包目录,我这边是更改窗口图标,还需要在窗口里面添加调用代码,在文件开头还需要import一下
import myico
self.SetIcon(myico.AppIcon.GetIcon())
以上就是全部更改窗口图标流程,这样打包可以不需要图标文件,直接用图标转换而成的文本打包就行,最后效果与图标文件打包一样
1.找到打包目标路径,按住Shift键,同时鼠标右击,点击在此处打开PowerShell
2.最基础的打包方式就是这样,不过不建议这样操作,这是单文件打包,XXXX是要打包的模块名字
pyinstaller -F XXXX.py
3.下面这种是比较推荐的操作方式,这是多文件打包,XXXX是要打包的模块名字
pyinstaller -D XXXX.py
以上就是基础打包,打包完成就可以使用了,后面属于进阶操作
最最关键的一点,因为打包完成,无法查到报错在哪里,可以在打包的时候加上’-c’,这样可以通过控制台运行打包文件,最后的报错会在控制台输出,比较容易查找打包运行失败的原因
打包示例
控制台运行示例
若是运行报错,会在控制台展示,我打包的是已经通过的文件,所以看不到报错了
-i 图标
pyinstaller -D -w -i 图标.ICON XXXX.py
–k 密码
示例:
pyinstaller -D -w --k=密码 XXXX.py
这个可以在打包的时候对软件进行加密,保护自己的软件,没什么用,但是聊胜于无,加密还需要安装一个扩展包,pip就行
包名:pycrypto
-v
先搞定版本信息的来源
pyi-grab_version.exe D:\360\360Safe\360Safe.exe
可以是任意一个软件的版本信息作为来源参考
执行之后找到并打开更改成自己想要的就行
打包失败了,下次成功了再更新…
多参数打包
示例:
pyinstaller -F -w --k=123 --icon=ApplicationIcon.ico wx_main.py
以下是各种参数,可以参考
-F, –onefile
打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir
打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护
-K, –tk
在部署时包含 TCL/TK
-a, –ascii
不包含编码 . 在支持 Unicode的 python 版本上默认包含所有的编码 .
-d, –debug
产生 debug 版本的可执行文件
-w,–windowed,–noconsole
使用 Windows 子系统执行 . 当程序启动的时候不会打开命令行 ( 只对 Windows 有效 )
-c,–nowindowed,–console
使用控制台子系统执行 ( 默认 )( 只对 Windows 有效 )
pyinstaller -c xxxx.py
pyinstaller xxxx.py --console
-s,–strip
可执行文件和共享库将 run through strip. 注意 Cygwin的 strip 往往使普通的 win32 Dll 无法使用 .
-X, –upx
如果有 UPX 安装 ( 执行 Configure.py 时检测 ), 会压缩执行文件 (Windows 系统中的 DLL 也会 )( 参见 note)
-o DIR, –out=DIR
指定 spec 文件的生成目录 , 如果没有指定 , 而且当前目录是 PyInstaller 的根目录 , 会自动创建一个用于输出 (spec 和生成的可执行文件 ) 的目录 . 如果没有指定 , 而当前目录不是 PyInstaller 的根目录 , 则会输出到当前的目录下 .
-p DIR, –path=DIR
设置导入路径 ( 和使用 PYTHONPATH 效果相似 ). 可以用路径分割符 (Windows 使用分号 ,Linux 使用冒号 ) 分割 , 指定多个目录 . 也可以使用多个 -p 参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源
–icon=<FILE.ICO>
将 file.ico 添加为可执行文件的资源 ( 只对 Windows 系统有效 ),改变程序的图标 pyinstaller - i ico路径 xxxxx.py
–icon=<FILE.EXE,N>
将 file.exe 的第 n 个图标添加为可执行文件的资源 ( 只对 Windows 系统有效 )
-v FILE, –version=FILE
将 verfile 作为可执行文件的版本资源 ( 只对 Windows 系统有效 )
-n NAME, –name=NAME
可选的项目 ( 产生的 spec 的 ) 名字 . 如果省略 , 第一个脚本的主文件名将作为 spec 的名字
以上就是全部