pyinstaller 常用命令参数

    PyInstaller是一个用于将Python程序打包成独立的可执行文件的工具。它可以将Python代码和所有依赖的库、资源文件等打包成一个单独的可执行文件,方便在不安装Python解释器的环境中运行。PyInstaller提供了许多参数,用于配置打包过程和生成的可执行文件的行为。

常用参数列表

以下是PyInstaller命令的常用参数列表:

•-h 或 --help:显示帮助信息,列出所有可用参数及其说明。

•-D:生成一个目录,包含可执行文件和所有依赖的库文件。这是默认的打包方式。

•-F:生成一个单个的可执行文件,包含所有依赖的库文件。这个文件比较大,但更方便分发。

•-c:生成一个控制台应用程序,可以在命令行中运行。

•-w:生成一个窗口应用程序,没有控制台窗口。

•-i <图标文件>:指定生成的可执行文件的图标。

•-n <程序名>:指定生成的可执行文件的文件名。

•-p <路径>:添加额外的模块搜索路径。

•-r <资源文件>:将指定的文件或目录添加为资源文件,可以在程序运行时访问。

•--add-data <源路径>:<目标路径>:将源路径下的文件或目录添加为资源文件,可以在程序运行时访问。

•--hidden-import <模块名>:手动指定需要导入的模块,如果PyInstaller无法自动检测到。

•--clean:在打包之前清理之前生成的临时文件。

•--onefile:和-F参数相同,生成一个单个的可执行文件。

•--console:和-c参数相同,生成一个控制台应用程序。

•--windowed:和-w参数相同,生成一个窗口应用程序。

参数详解

-h 或 --help

这个参数用于显示帮助信息,列出所有可用参数及其说明。使用这个参数可以快速查看PyInstaller的命令行参数,了解每个参数的作用和用法。

-D

使用-D参数可以生成一个目录,其中包含可执行文件和所有依赖的库文件。这是PyInstaller的默认打包方式。生成的目录结构如下:

dist/

├── 可执行文件

└── 依赖的库文件

使用这种方式打包的好处是,可执行文件和库文件分离,可以方便地更新和替换库文件。但缺点是需要保持目录结构的完整性,不够方便分发。

-F

使用-F参数可以生成一个单个的可执行文件,其中包含所有依赖的库文件。这个文件比较大,但更方便分发。生成的文件结构如下:

dist/

└── 可执行文件

使用这种方式打包的好处是,所有文件都包含在一个文件中,方便分发和传输。但缺点是文件较大,更新和替换库文件不够方便。

-c

使用-c参数可以生成一个控制台应用程序,可以在命令行中运行。生成的可执行文件会打开一个控制台窗口,并在其中显示程序输出的内容。这种方式适用于需要与用户进行交互的命令行工具。

-w

使用-w参数可以生成一个窗口应用程序,没有控制台窗口。生成的可执行文件不会打开任何窗口,直接运行程序逻辑。这种方式适用于不需要与用户进行交互的GUI应用程序。

-i <图标文件>

使用-i参数可以指定生成的可执行文件的图标。通过指定一个图标文件,可以让生成的可执行文件在文件资源管理器中显示指定的图标。图标文件可以是ICO格式或者其他支持的图标格式。

-n <程序名>

使用-n参数可以指定生成的可执行文件的文件名。通过指定一个文件名,可以让生成的可执行文件使用指定的名称。默认情况下,PyInstaller会根据脚本文件的名称生成可执行文件的名称。

-p <路径>

使用-p参数可以添加额外的模块搜索路径。通过指定一个路径,可以告诉PyInstaller在指定的路径中搜索依赖的模块。这个参数可以用于解决PyInstaller无法自动检测到的模块依赖问题。

-r <资源文件>

使用-r参数可以将指定的文件或目录添加为资源文件,可以在程序运行时访问。通过指定一个资源文件,可以将文件或目录打包到生成的可执行文件中,程序可以在运行时访问这些资源。资源文件可以是任何类型的文件或目录。

--add-data <源路径>:<目标路径>

使用--add-data参数可以将指定的文件或目录添加为资源文件,可以在程序运行时访问。通过指定源路径和目标路径,可以将文件或目录打包到生成的可执行文件中,程序可以在运行时访问这些资源。源路径可以是一个文件或目录,目标路径是生成的可执行文件中的路径。

--hidden-import <模块名>

使用--hidden-import参数可以手动指定需要导入的模块,如果PyInstaller无法自动检测到。有时候,PyInstaller无法正确地检测到程序的依赖模块,导致打包后的可执行文件无法运行。通过使用--hidden-import参数,可以手动告诉PyInstaller需要导入的模块,解决这个问题。

--clean

使用--clean参数可以在打包之前清理之前生成的临时文件。PyInstaller在打包过程中会生成一些临时文件,使用这个参数可以删除这些临时文件,确保打包过程的干净。

--onefile

使用--onefile参数可以生成一个单个的可执行文件,和-F参数相同。这个参数只是-F参数的一个别名,可以使用其中任意一个参数来生成单个的可执行文件。

--console

使用--console参数可以生成一个控制台应用程序,和-c参数相同。这个参数只是-c参数的一个别名,可以使用其中任意一个参数来生成控制台应用程序。

--windowed

使用--windowed参数可以生成一个窗口应用程序,和-w参数相同。这个参数只是-w参数的一个别名,可以使用其中任意一个参数来生成窗口应用程序。

以上介绍的PyInstaller命令的常用参数,包括生成方式、应用类型、图标、文件名、模块搜索路径、资源文件、隐藏模块、清理临时文件等。通过了解这些参数,可以更好地使用PyInstaller工具,将Python程序打包成独立的可执行文件。祝你在使用PyInstaller时顺利!

常用的 Pyinstaller 运行参数有:

  • -F 或 --onefile:生成单个可执行文件
  • -D 或 --onedir:生成一个目录,包含可执行文件和依赖文件
  • -n 或 --name:指定生成的可执行文件或目录的名称
  • -w 或 --windowed:生成无控制台窗口的可执行文件(即 GUI 应用)
  • -c 或 --console:生成控制台窗口的可执行文件(即命令行应用)
  • --icon:指定应用程序图标文件的位置
  • --hidden-import:指定需要手动添加的 Python 模块(如果 Pyinstaller 未正确解析引用)
  • --additional-hooks-dir:指定一个目录,Pyinstaller 会在此目录中寻找自定义的 hook 文件,以添加额外的模块

这些参数可以在命令行中直接使用,例如在 Windows 系统下:

pyinstaller -F -w my_script.py

其中 -F 和 -w 分别生成单个可执行文件和无控制台窗口的应用程序。my_script.py 是待编译的 Python 脚本。

如果需要指定更多参数,可以将它们放在命令行中,例如:

 

pyinstaller -F -w --icon=my_icon.ico --name=my_app my_script.py

这将生成单个可执行文件,无控制台窗口,并指定应用程序图标和名称。

使用-w参数要当心,可能会让你崩溃。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/234636.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NSS [NSSCTF 2022 Spring Recruit]babyphp

NSS [NSSCTF 2022 Spring Recruit]babyphp 考点&#xff1a;PHP特性 开局源码直接裸奔 <?php highlight_file(__FILE__); include_once(flag.php);if(isset($_POST[a])&&!preg_match(/[0-9]/,$_POST[a])&&intval($_POST[a])){if(isset($_POST[b1])&&…

java--Date、SimpleDateFormat时间类,JDK8之前的

1.Date 代表的是日期和时间 2.SimpleDateFormat 代表简单日期格式化&#xff0c;可以用来把日期对象、时间毫秒值格式化成我们想要的形式。 3.时间格式常见符号 4.SimpleDateFormat解析字符串时间成为日期对象

Redis之IO多路复用模型

Redis之IO多路复用模型 多路复用要解决的问题 解决同步阻塞IO模型下大量线程创建导致资源的浪费问题 同步阻塞IO模式的特点就是用一个进程来处理一个网络连接(一个用户请求)&#xff0c;比如一段典型的示例代码如下。 直接调用 recv 函数从一个 socket 上读取数据。 int main…

语义分割 简介及数据集简介

参考文章 MS COCO数据集介绍以及pycocotools简单使用-CSDN博客

Linux7安装tomcat9.0.83教程

1.下载tomcat.tar.gz包 地址&#xff1a;Apache Tomcat - Apache Tomcat 9 Software Downloads 2.将包上传到linux服并解压 cd /home/local # 跳转到上传包的目录 tar -zxvf apache-tomcat-9.0.83.tar.gz # 解压包 mv apache-tomcat-9.0.83 tomcat # 重命名目录为tomcat cp …

【PUSDN】SpringBoot的jar进行解压后,替换其中的文件重新生成新的jar-SW

当你解压Spring Boot的JAR文件时&#xff0c;实际上是在打开一个压缩文件&#xff0c;类似于ZIP。你可以按照以下步骤进行替换文件并重新生成新的JAR&#xff1a; 解压原始的JAR文件&#xff1a; 使用任何ZIP工具&#xff08;如WinRAR、7-Zip或命令行工具&#xff09;&#xf…

详解异常 ! !(对异常有一个全面的认识)

【本章目标】 1. 异常概念与体系结构 2. 异常的处理方式 3. 异常的处理流程 4. 自定义异常类 1. 异常的概念与体系结构 1.1 异常的概念 在生活中&#xff0c;一个人表情痛苦&#xff0c;出于关心&#xff0c;可能会问&#xff1a;你是不是生病了&#xff0c;需要我陪你去看医…

在线测试http接口,为您解析最佳测试方法

您是否正在寻找一种方便、高效且可靠的方法来测试您的http接口&#xff1f;在这篇文章中&#xff0c;我们将为您介绍在线测试http接口的最佳方法&#xff0c;帮助您确保您的接口在各种情况下都能正常运行。 什么是http接口&#xff1f; 在开始介绍如何测试http接口之前&#x…

AG1KLPQ48 User Manual

1.&#xff09;软件安装&#xff1a; 解压缩或执行安装文件&#xff0c;安装 Supra 软件。执行文件为 bin 目录中的 Supra.exe。 运行 Supra&#xff0c;选择菜单 File -> Import license&#xff0c;选择 license 文件并导入 License。 2.&#xff09;新建项目&#xff1a;…

掌握iText:轻松处理PDF文档-进阶篇

简体中文写入 iText本身对简体中文的支持有限&#xff0c;但可以通过引入额外的字体包来增强其对简体中文的支持。例如&#xff0c;可以使用iTextAsian.jar这个亚洲字体包&#xff0c;它包含了几种简单的亚洲字体&#xff0c;其中包括简体中文字体。只需要将iTextAsian.jar放到…

Star CCM+ 停止并保存用命令行运行的计算

在 StarCCM 命令行运行 中介绍了命令行运行计算的方法&#xff0c;有网友询问停止计算的命令&#xff0c;但计算一旦提交之后应该是不能用命令结束的&#xff0c;除非是用 kill 或任务管理器直接结束进程。然而&#xff0c;直接结束进程不会自动保存计算结果。 问题 通常情况下…

tidb安装 centos7单机集群

安装 [rootlocalhost ~]# curl --proto https --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh [rootlocalhost ~]# source .bash_profile [rootlocalhost ~]# which tiup [rootlocalhost ~]# tiup playground v6.1.0 --db 2 --pd 3 --kv 3 --host 192.168.1…

【C++】C++中的String类详解及模拟实现示例

文章目录 string类简介string类的基本用法string类的常用方法string类的优势 string类的模拟实现存储结构头文件string.h源文件string.cpp源文件test.cpp string类简介 string类简介在C编程中&#xff0c;字符串是一种非常常见的数据类型&#xff0c;用于存储文本信息。C标准库…

用 Python 自动创建 Markdown 表格

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com Markdown表格是文档中整理和展示数据的重要方式之一。然而&#xff0c;手动编写大型表格可能会费时且容易出错。本文将介绍如何使用Python自动创建Markdown表格&#xff0c;通过示例代码详细展示各种场景下的创建…

Java 何时会触发一个类的初始化

Java 何时会触发一个类的初始化&#xff1f; 使用new关键字创建对象访问类的静态成员变量 或 对类的静态成员变量进行赋值调用类的静态方法反射调用类时&#xff0c;如 Class.forName()初始化子类时&#xff0c;会先初始化其父类&#xff08;如果父类还没有进行过初始化的话&a…

【Java】I/O流—File类:从0到1的全面解析

&#x1f38a;专栏【Java】 &#x1f33a;每日一句:看不清楚未来时,就比别人坚持久一点 ⭐欢迎并且感谢大家指出我的问题 目录 1.File概述 2.File构造方法 (1).根据文件路径创建文件对象 (2).根据父路径名字符串和子路径名字符串创建对象 (3).根据父路径对应文件对象和子路…

关于性能测试,你不知道的事应用性能监控:SkyWalking

SkyWalking 简介 SkyWalking 是一款优秀的 APM 工具&#xff08;Application Performance Monitoring&#xff0c;应用性能监控&#xff09;&#xff0c;专为微服务、云原生架构和基于容器&#xff08;Docker、K8S、Mesos&#xff09;的架构而设计&#xff0c;包含了分布式追踪…

14-1、IO流

14-1、IO流 lO流打开和关闭lO流打开模式lO流对象的状态 非格式化IO二进制IO读取二进制数据获取读长度写入二进制数据 读写指针 和 随机访问设置读/写指针位置获取读/写指针位置 字符串流 lO流打开和关闭 通过构造函数打开I/O流 其中filename表示文件路径&#xff0c;mode表示打…

【PWN】学习笔记(二)【栈溢出基础】

课程教学 课程链接&#xff1a;https://www.bilibili.com/video/BV1854y1y7Ro/?vd_source7b06bd7a9dd90c45c5c9c44d12e7b4e6 课程附件&#xff1a; https://pan.baidu.com/s/1vRCd4bMkqnqqY1nT2uhSYw 提取码: 5rx6 C语言函数调用栈 一个栈帧保存的是一个函数的状态信息&…

前端mp3文件转wav文件的实现

一、音频文件格式转换 1&#xff09;安装fluent-ffmpeg和ffmpeg插件 npm install fluent-ffmpeg; npm install ffmpeg;2&#xff09;mp3转wav test.js文件&#xff1a; const ffmpeg require(fluent-ffmpeg);ffmpeg(./test.mp3) .format(wav) .audioBitrate(16k) .audioFre…