基于PyInstaller各参数的含义说明


Posted in Python onMarch 04, 2021

说明

以下介绍假设用户脚本为main.py,生成结果为main.exe。

有些参数实在很少用到,只列出简单介绍,具体请参阅原文。

通用参数

参数名 描述 说明
-h 显示帮助
-v 显示版本号
?distpath 生成文件放在哪里 默认:当前目录的dist文件夹内
?workpath 生成过程中的中间文件放在哪里 默认:当前目录的build文件夹内
-y 如果dist文件夹内已经存在生成文件,则不询问用户,直接覆盖 默认:询问是否覆盖
?upx-dir UPX_DIR 指定upx工具的目录 默认:execution path
-a 不包含unicode支持 默认:尽可能支持unicode
?clean 在本次编译开始时,清空上一次编译生成的各种文件 默认:不清除
?log-level LEVEL 控制编译时pyi打印的信息 一共有6个等级,由低到高分别为TRACE DEBUG INFO(默认) WARN ERROR CRITICAL。也就是默认清空下,不打印TRACE和DEBUG信息

与生成结果有关的参数

参数名 描述 说明
-D 生成one-folder的程序(默认) 生成结果是一个目录,各种第三方依赖、资源和exe同时存储在该目录
-F 生成one-file的程序 生成结果是一个exe文件,所有的第三方依赖、资源和代码均被打包进该exe内
?specpath 指定.spec文件的存储路径 默认:当前目录
-n 生成的.exe文件和.spec的文件名 默认:用户脚本的名称,即main.py和main.spec

指定打包哪些资源、代码

参数名 描述 说明
?add-data 打包额外资源 用法:pyinstaller main.py --add-data=src;dest。windows以;分割,linux以:分割
?add-binary 打包额外的代码 用法:同?add-data。与?add-data不同的是,用binary添加的文件,pyi会分析它引用的文件并把它们一同添加进来
-p 指定额外的import路径,类似于使用PYTHONPATH 参见PYTHONPATH
?hidden-import 打包额外py库 pyi在分析过程中,有些import没有正确分析出来,运行时会报import error,这时可以使用该参数
?additional-hooks-dir 指定用户的hook目录 hook用法参见其他,系统hook在PyInstaller\hooks目录下
?runtime-hook 指定用户runtime-hook 如果设置了此参数,则runtime-hook会在运行main.py之前被运行
?exclude-module 需要排除的module pyi会分析出很多相互关联的库,但是某些库对用户来说是没用的,可以用这个参数排除这些库,有助于减少生成文件的大小
?key pyi会存储字节码,指定加密字节码的key 16位的字符串

生成参数

参数名 描述 说明
-d 执行生成的main.exe时,会输出pyi的一些log,有助于查错 默认:不输出pyi的log
-s 优化符号表 原文明确表示不建议在windows上使用
?noupx 强制不使用upx 默认:尽可能使用。

其他

参数名 描述 说明
?runtime-tmpdir 指定运行时的临时目录 默认:使用系统临时目录

Windows和Mac特有的参数

参数名 描述 说明
-c 显示命令行窗口 与-w相反,默认含有此参数
-w 不显示命令行窗口 编写GUI程序时使用此参数有用。
-i 为main.exe指定图标 pyinstaller -i beauty.ico main.py

Windows特有的参数

参数名 描述 说明
?version-file 添加版本信息文件 pyinstaller --version-file ver.txt
-m, --manifest 添加manifest文件 pyinstaller -m main.manifest
-r RESOURCE 请参考原文
?uac-admin 请参考原文
?uac-uiaccess 请参考原文

补充:pyinstaller打包exe常用参数

pyinstaller 是python的一个包,可以把python程序打包成exe文件,这样其他未安装python的PC也可以执行python写的程序

安装

pip install pyinstaller

常用参数

-D example.py

生成一个文件夹,里面有exe文件及其动态库

-F example.y

只生成exe文件

-w

运行exe时不显示控制台

-c

运行exe时显示控制台

-i example.ico

为程序添加图标

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
Python读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
python判断图片宽度和高度后删除图片的方法
May 22 Python
Python 中的Selenium异常处理实例代码
May 03 Python
python3利用ctypes传入一个字符串类型的列表方法
Feb 12 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
Python换行与不换行的输出实例
Feb 19 Python
基于Python测试程序是否有错误
May 16 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
python 爬取英雄联盟皮肤并下载的示例
Dec 04 Python
python 实现全球IP归属地查询工具
Dec 18 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 Python
Python机器学习之PCA降维算法详解
May 19 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 #Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 #Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 #Python
pandas数据分组groupby()和统计函数agg()的使用
Mar 04 #Python
pyx文件 生成pyd 文件用于 cython调用的实现
Mar 04 #Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 #Python
python 中 .py文件 转 .pyd文件的操作
Mar 04 #Python
You might like
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
thinkphp分页集成实例
2017/07/24 PHP
Smarty模板类内部原理实例分析
2019/07/03 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
jQuery 动画基础教程
2008/12/25 Javascript
FireFox JavaScript全局Event对象
2009/06/14 Javascript
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
2013/01/23 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
对Python _取log的几种方式小结
2019/07/25 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
什么是Python中的匿名函数
2020/06/02 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
意大利会呼吸的鞋:Geox健乐士
2017/02/12 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
酒店管理毕业生自荐信
2013/10/24 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
校园安全教育广播稿
2014/02/17 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
交通安全学习心得体会
2016/01/18 职场文书
LayUI+Shiro实现动态菜单并记住菜单收展的示例
2021/05/06 Javascript