文章更新于:2020-04-26
按照惯例,需要的文件附上链接放在文首。
文件名:ICOFX图标制作软件.7z
文件大小:40.2 MB
下载链接:https://www.lanzous.com/iayxw2b
SHA256: 76661654826A23DD4D5AEC466E4E775FD593DF7289587FD4B093AE345E22DE21
点击目录可跳转
一、使用 PyInstaller 打包程序
1.1、可以使用 pip 进行安装
pip install PyInstaller
# 如果出现 success 标志即安装成功
1.2、执行打包命令
在 py
文件所在文件夹地址栏输入 cmd
回车进入命令行,输入 pyinstaller -F name.py
进行打包。
pyinstall -F --icon ok.ico 程序文件名.py
其中 -F
参数表示将程序打包成一个独立的文件。
如果你想自定义图标的话,你可以使用 --icon
参数。
注:这个 icon
文件需要是 ico
文件,如果你只是把图片改个后缀,它应该是会报错的。
如何制作 icon
文件,可以参见文首的链接。
1.3、查看程序文件
打包完成之后就可以去当前目录 dist
文件夹查看程序文件了。
这个程序文件理论上双击即可执行~
1.4、引入文件
如果你的程序引入了其他文件,比如一个 txt
文件,那么如果你想把其也打包进去,你就需要修改中间文件spec
配置文件。
在打包时生成的 spec
文件中,找到 datas
文件,添加一个元祖。
datas=[(‘res’, ’.’)]
第一项为资源文件所在的文件夹, 第二个值‘.’代表当前路径。
之后再次 pyinstall -F xxx.spec
打包即可。
这时文件即可正常打包进程序。
二、如何减少打包体积
我们会发现,使用其打包以后,程序的体积往往远大于源代码的体积。
这是因为其可能引入了一些不必要的文件。
为了减少体积,我们可以这样:
2.1、改善 import 语句
能用 from xxx import xxx
就不用 import xxx
,前者更轻量!
2.2、使用 pipenv
使用 pipenv
建立虚拟环境,然后安装程序引入的包以后再进行打包,可以进一步减小程序的体积。
具体操作是:
#建立虚拟环境(也可直接执行第二步)
pipenv install
#进入虚拟环境
pipenv shell
#安装你程序引入的库文件
pip install xxx
#安装打包库文件
pip install pyinstaller
#开始打包
pyinstaller -F -i ok.ico 程序名.py
2.3 PyInstaller 命令参数:
usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME]
[--add-data <SRC;DEST or SRC:DEST>]
[--add-binary <SRC;DEST or SRC:DEST>] [-p DIR]
[--hidden-import MODULENAME]
[--additional-hooks-dir HOOKSPATH]
[--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES]
[--key KEY] [-d {
all,imports,bootloader,noarchive}] [-s]
[--noupx] [--upx-exclude FILE] [-c] [-w]
[-i <FILE.ico or FILE.exe,ID or FILE.icns>]
[--version-file FILE] [-m <FILE or XML>] [-r RESOURCE]
[--uac-admin] [--uac-uiaccess] [--win-private-assemblies]
[--win-no-prefer-redirects]
[--osx-bundle-identifier BUNDLE_IDENTI