pyinstaller 属于Python第三方库,使用前需先安装
# 首先安装pyinstaller
pip install pyinstaller
PyInstaller生成可执行程序
# PyInstaller 工具的命令语法如下: # 1、第一种 pyinstaller options ~/myproject/source/myscript.py # 2、第一种 pyinstaller "C:\Documents and Settings\project\myscript.spec"
PyInstaller 支持的常用选项
dist中产生单个的可执行文件
eg:pyinstaller -F demo.py
-D,--onedir产生一个目录(包含多个文件)作为可执行程序
eg:pyinstaller -D demo.py
-a,--ascii 不包含 Unicode 字符集支持 -d,--debug 产生 debug 版本的可执行文件 -w,--windowed,--noconsolc指定程序运行时不显示命令行窗口(仅对 Windows 有效)
eg:pyinstaller -w demo.py
-c,--nowindowed,--console指定使用命令行窗口运行程序(仅对 Windows 有效)
eg:pyinstaller -c demo.py
-o DIR,--out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 -p DIR,--path=DIR设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
eg:pyinstaller -p E:\python\Lib\site-packages demo.py
-n NAME,--name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字1、创建一个 app 目录,在该目录下创建一个 入口app.py 文件
# 进入该app目录内,执行以下语法
pyinstaller -F app.py
当生成完成后,将会在此 app 目录下看到多了一个 dist 目录,并在该目录下看到有一个 app.exe 文件,这就是使用 PyInstaller 工具生成的 exe 程序。
在命令行窗口中进入 dist 目录下,在该目录执行 app.exe ,将会看到该程序执行结果。
注:若程序没有可视化界面,不能双击执行程序
2、创建一个 app 目录,在该目录下创建一个 入口app.py 文件
# 进入该app目录内,执行以下语法
pyinstaller -D app.py
执行上面命令,将看到详细的生成过程。当生成完成后,将会在 app 目录下看到多了一个 dist 目录,并在该目录下看到有一个 app 子目录,在该子目录下包含了大量 .dll 文件和 .pyz 文件,它们都是 app.exe 程序的支撑文件。在命令行窗口中运行该 app.exe 程序,同样可以看到与前一个 app.exe 程序相同的输出结果。
3、高级用法
当有特殊需求,比如打包图片资源文件时,就必须用到它的高级用法。
首先得了解spec文件,简而言之,spec文件就是一份告诉pyinstaller如何打包的配置文件。
可以通过pyi-makespec demo.py来生成demo.spec文件。其内容如下:
# -*- mode: python -*- block_cipher = None resources = (("inspurer.db", "."), ("dlib_face_recognition_resnet_model_v1.dat", "."), ("shape_predictor_68_face_landmarks.dat", "."), ("close_logcat.png", ".") , ("open_logcat.png", "."), ("finish_register.png", "."), ("new_register.png", ".") , ("start_punchcard.png", "."), ("end_puncard.png", "."), ("index.png", ".")) a = Analysis(['workAttendanceSystem.py'], pathex=['C:\\Users\\lenovo\\Desktop\\test\\python'], binaries=[], datas=resources, hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, [], exclude_binaries=True, name='workAttendanceSystem', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=True ) coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, name='workAttendanceSystem')
对于上面这个文件,需要注意两点:
除了resources配置是我添加修改之外,其余全是自动生成,这个配置是用来添加资源文件的。
pathex是工程的根目录。
生成并配置好spec文件后,我们可以通过pyinstaller demo.spec来执行打包任务。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 魔兽世界奥卡兹岛地牢入口在哪里 奥卡兹岛地牢入口位置一览
- 和文军-丽江礼物[2007]FLAC
- 陈随意2012-今生的伴[豪记][WAV+CUE]
- 罗百吉.2018-我们都一样【乾坤唱片】【WAV+CUE】
- 《怪物猎人:荒野》不加中配请愿书引热议:跪久站不起来了?
- 《龙腾世纪4》IGN 9分!殿堂级RPG作品
- Twitch新规禁止皮套外露敏感部位 主播直接“真身”出镜
- 木吉他.1994-木吉他作品全集【滚石】【WAV+CUE】
- 莫华伦.2022-一起走过的日子【京文】【WAV+CUE】
- 曾淑勤.1989-装在袋子里的回忆【点将】【WAV+CUE】
- 滚石香港黄金十年系列《赵传精选》首版[WAV+CUE][1.1G]
- 雷婷《乡村情歌·清新民谣》1:1母盘直刻[低速原抓WAV+CUE][1.1G]
- 群星 《DJ夜色魅影HQⅡ》天艺唱片[WAV+CUE][1.1G]
- 群星《烧透你的耳朵2》DXD金佰利 [低速原抓WAV+CUE][1.3G]
- 群星《难忘的回忆精选4》宝丽金2CD[WAV+CUE][1.4G]