基于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模拟登录12306的方法
Dec 30 Python
Python复制目录结构脚本代码分享
Mar 06 Python
python获取文件扩展名的方法
Jul 06 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
Python列表切片操作实例总结
Feb 19 Python
Python3.5文件读与写操作经典实例详解
May 01 Python
用django-allauth实现第三方登录的示例代码
Jun 24 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
python实现PID算法及测试的例子
Aug 08 Python
Python全栈之列表数据类型详解
Oct 01 Python
Python序列对象与String类型内置方法详解
Oct 22 Python
Python中logging日志的四个等级和使用
Nov 17 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学习之数组值的操作
2011/04/17 PHP
php实现的递归提成方案实例
2015/11/14 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
Node.js测试中的Mock文件系统详解
2016/11/21 Javascript
js实现日历与定时器
2017/02/22 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
后勤人员自我鉴定
2013/10/20 职场文书
环保建议书
2014/03/12 职场文书
珍惜资源的建议书
2014/08/26 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
python可视化大屏库big_screen示例详解
2021/11/23 Python
HTML+JS实现在线朗读器
2022/02/15 Javascript
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js