基于PyInstaller各参数的含义说明

说明

以下介绍假设用户脚本为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

为程序添加图标

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

(0)

相关推荐

  • python3.9实现pyinstaller打包python文件成exe

    简述 1.python python作为一门解释型脚本语言,它有三种发布方式: 文件 : 源码文件,运行需要使用者安装Python环境并且安装依赖的各种库 pyc文件:pyc文件是Python解释器可以识别的二进制码,可跨平台的,需要使用者安装相应版本的Python和依赖库. 可执行文件:不需要安装python环境和依赖库,可针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,-) 2.pyInstaller PyInstaller工具可以把python解析器和脚本打包成一

  • pyinstaller参数介绍以及总结详解

    最近利用tkinter+python+pyinstaller实现了小工具的项目,在此记录下pyinstaller相关参数以及爬过的坑. 一.pyinstaller相关参数 -F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用 -D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护 -K, –tk 在部署时包含 TCL/TK -a, –ascii 不包含编码

  • Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

    (一)功能实现效果: 选择文件的效果: 标记预加水印的位置: (二)Python代码: # -*l- coding:utf-8 * import os, io, sys, re, time, json from pandas import array import matplotlib.backends.backend_tkagg import matplotlib matplotlib.use('TkAgg') import matplotlib.pyplot as plt #from mat

  • 详解python第三方库的安装、PyInstaller库、random库

    python第三方库的安装 PyInstaller库 PyInstaller库能够在不同操作系统下将python源文件打包,变成直接可运行的可执行文件. 可以通过-F参数对python源文件生成一个独立的可执行文件. PyInstaller -F SnowView.py 执行后在dist目录中出现了SnowView.exe可执行文件. random库 使用random库来生成随机数 最基本 random.random() 生成一个0~1之间的随机小数 from random import * p

  • 安装pyinstaller遇到的各种问题(小结)

    环境win7,anaconda3 ,使用的python版本是3.6.5 anaconda中集成了大部分常用的第三方库,例如numpy等,但是有一些没有集成需要手动安装加载,之前安装第三方库使用的指令是:pip install **(**代表库名字) 问题1 一如往常的安装方法,pip install  pyinstaller出现timeout错误,往往是下载百分之10左右出现一堆红色错误或者警告,一般都是因为网速太慢导致的,解决方法: pip --default-timeout=100 inst

  • 解决Pyinstaller打包软件失败的一个坑

    最近写了一个软件屡屡打包不能正常运行,而直接在cmd命令行窗口运行却都能正常输出,没有任何报错,一开始怀疑程序里面sys.args[1]使用不对,找了很久发现import numpy才是导致代码不能打包的直接原因. 不知道为何引用这个包就不能正常打包成exe了. 程序编译中出错的代码如下 pyinstaller -F C:\Users\LHD_PC\AppData\Local\Progr ams\Python\Python38-32\Scripts\AutoElecCalcE.py 91 INF

  • 基于PyInstaller各参数的含义说明

    说明 以下介绍假设用户脚本为main.py,生成结果为main.exe. 有些参数实在很少用到,只列出简单介绍,具体请参阅原文. 通用参数 参数名 描述 说明 -h 显示帮助 无 -v 显示版本号 无 –distpath 生成文件放在哪里 默认:当前目录的dist文件夹内 –workpath 生成过程中的中间文件放在哪里 默认:当前目录的build文件夹内 -y 如果dist文件夹内已经存在生成文件,则不询问用户,直接覆盖 默认:询问是否覆盖 –upx-dir UPX_DIR 指定upx工具的目

  • 浅谈安装ORACLE时在Linux上设置内核参数的含义

    前两天看到一篇Redhat官方的Oracle安装文档,对于Linux内核参数的修改描述的非常清晰. 安装Oracle之前,除了检查操作系统的硬件和软件是否满足安装需要之外,一个重点就是修改内核参数,其中最主要的是和内存相关的参数设置. SHMMAX参数:Linux进程可以分配的单独共享内存段的最大值.一般设置为内存总大小的一半.这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此对于安装Oracle数据库的系统,shmmax的值应该比内存的二分之一大一些

  • 对django2.0 关联表的必填on_delete参数的含义解析

    一对多(ForeignKey) class ForeignKey(ForeignObject): def __init__(self, to, on_delete, related_name=None, related_query_name=None, limit_choices_to=None, parent_link=False, to_field=None, db_constraint=True, **kwargs): super().__init__(to, on_delete, fro

  • 浅谈Pytorch中的自动求导函数backward()所需参数的含义

    正常来说backward( )函数是要传入参数的,一直没弄明白backward需要传入的参数具体含义,但是没关系,生命在与折腾,咱们来折腾一下,嘿嘿. 对标量自动求导 首先,如果out.backward()中的out是一个标量的话(相当于一个神经网络有一个样本,这个样本有两个属性,神经网络有一个输出)那么此时我的backward函数是不需要输入任何参数的. import torch from torch.autograd import Variable a = Variable(torch.Te

  • Java线程池7个参数的含义

    目录 参数1:corePoolSize 参数2:maximumPoolSize 参数3:keepAliveTime 参数4:TimeUnit 参数5:BlockingQueue 参数6:ThreadFactory 参数7:RejectedExecutionHandler 总结 所谓的线程池的 7 大参数是指,在使用 ThreadPoolExecutor 创建线程池时所设置的 7 个参数, 如以下源码所示: public ThreadPoolExecutor(int corePoolSize, i

  • pyinstaller pathex参数引发打包no module name异常

    现象: 最近将pyinsatller升级到最新的Version: 5.0.1版本后(之前一直用的是3.5版本同样方法未遇到问题,今次更新到最新版本后5.0.1后打包就遇到问题,具体是这中间哪个版本开始有变化也不清楚了,也不去追究,凡是在新版本中遇到问题就在新版本中解决),详细现象及解决办法如下: 1. 先贴上pyinstaller的官方介绍:点击跳转 2.使用pyinstaller打包完成后到dist目录下点击 .exe程序运行时提示 “no module found”,凡是所有外部加载的模块全

  • react-three/postprocessing库的参数中文含义使用解析

    目录 一.react-three/postprocessing--处理效果的库 二.提供的组件 <DepthOfField />景深效果组件 参数 <Bloom /> 光晕效果组件 参数 <Noise /> 噪点效果组件 <Vignette /> 晕影,虚化效果组件 参数 <ToneMapping/> 一种色调映射效果组件 示例及参数: <HueSaturation />色彩饱和度 参数 <Grid/>网格效果组件 示例及

  • 基于Pyinstaller打包Python程序并压缩文件大小

    这段时间应老师的要求,给实验室写了一个基于 PyQt5 的小工具.然而源码发过去人家还不要,一定要打包成可执行软件. 那就打包呗,刚好以前对 Pyinstaller 有一点接触,就用了一下这玩意.这篇博文主要记录一下基本用法和踩得一些坑. 1. 用 Pyinstaller 打包 Python 程序 首先我们需要安装 Pyinstaller: pip install pyinstaller 用 conda 也行,不过貌似最近清华的 Anaconda 源被封了,也不知道什么时候解禁. Pyinsta

  • 浅谈numpy 函数里面的axis参数的含义

    前言 numpy支持对矩阵和数组进行运算,因此很多numpy的很多运算都需要指定操作的维数参数axis(当然这些axis都有带默认值的),本博客以numpy.sum求和函数为例,具体分析axis参数不同取值下的含义. 先说结论 设 numpy.sum的输入矩阵为a. numpy.sum的返回矩阵为rst. 则矩阵a的形状为:sp=numpy.shape(a),例如sp=[m,n,p,q···] rst的形状为将sp的第axis个元素设为1,即: sp'=sp sp'[axis]=1 numpy.

  • 基于pyinstaller超级加密操作(加壳和转c)

    1.首先安装上必须的包 pip install Cython pip install pyinstaller 2.最好是安装vs 版本的话 我安装的是最新的2019,选择安装界面的时候选如下图这个和python的 python应该是可选的,但是我怕麻烦就直接选上了 3.然后接下来就是写setup.py文件了 from distutils.core import setup from Cython.Build import cythonize setup( ext_modules = cython

随机推荐