Python打包命令汇总

news2025/1/10 6:17:46

1、pyinstaller打包

  • 环境安装:pip install pyinstaller 
  • 网络不好可以通过 -i 指定安装源:pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • 安装完成后通过:pyinstaller --version 查看是否安装成功

  • 打包单个脚本:pyinstaller -F -w -i python.ico main.py

pyinstaller参数说明:

参数用法
-F生成结果是一个 exe 文件,所有的第三方依赖、资源和代码均被打包进该 exe 内
-D生成结果是一个目录,各种第三方依赖、资源和 exe 同时存储在该目录(默认)
-a不包含unicode支持
-d执行生成的 exe 时,会输出一些log,有助于查错
-w不显示命令行窗口
-c显示命令行窗口(默认)
-p指定额外的 import 路径,类似于使用 python path
-i指定图标
-v显示版本号
-n生成的 .exe 的文件名

2、nuitka打包

nuitka可以将python代码(自己写的部分)转换成C代码,以提高运行的速度。

  • 安装环境:pip installer nuitka
  • pip install nuitka -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • 简单示例:nuitka --standalone --onefile --show-memory --show-progress --nofollow-imports --output-dir=out --windows-icon-from-ico=lion main.py
--mingw64    默认为已经安装的vs2017去编译,否则就按指定的比如mingw(官方建议)
--standalone 打包结果与本地的Python环境无关
--onefile    打包结果为一个可执行文件
--lto        用于启用链接时间优化,编译和链接阶段对整个程序进行优化,提高程序的性能和执行效率
--remove-output 在打包结束后,清理打包过程中生成的临时文件
--enable-plugin= 启用插件,等号后跟插件名,如在代码中使用了PySide6,就需要加上--enable-plugin=pyside6。具体的插件列表可以使用nuitka --plugin-list来查看
-disable-console 在运行打包后的程序时,不会弹出控制台
--include-package-data= 包含给定软件包名称中的文件,软件包名称,在运行程序时提示FileNotFoundError等错误,可以使用该选项试试
--include-data-files= 按文件名包含文件,等号后的格式为<SRC=DEST>。SRC指的是文件夹的路径,DEST指的是文件夹相对于打包结果的路径,其中DEST只能使用相对路径
--include-data-dir= 包含文件夹中的文件,等号后的格式为<SRC=DEST>。使用方法与--include-data-files=相同
--output-dir=out 生成exe到out文件夹下面去
--show-progress 显示编译的进度,很直观
--show-memory 显示内存的占用
--windows-icon-from-ico=你的.ico 软件的图标
--windows-company-name=Windows下软件公司信息
--windows-product-name=Windows下软件名称
--windows-file-version=Windows下软件的信息
--windows-product-version=Windows下软件的产品信息
--windows-file-description=Windows下软件的作用描述
--windows-uac-admin=Windows下用户可以使用管理员权限来安装
--linux-onefile-icon=Linux下的图标位置

3、cx_Freeze打包

cx_Freeze 可以很方便地将 Python 程序打包成单独的可执行文件,方便用户快速安装和使用

  • pip install cx_Freeze
  • 使用:cxfreeze --target-dir=dist --target-name=main --base-name=Win32Gui --icon=zigbee.ico main.py
name:‌应用的名称。‌这是打包后生成的可执行文件的名称。‌
version:‌应用的版本。‌用于标识应用的版本号。‌
description:‌应用的描述。‌提供关于应用的简短描述,‌有助于用户了解应用的功能和用途。‌
executables:‌可执行文件列表。‌定义了要打包的 Python 脚本及其相关配置,‌如图标、‌基础窗口等。‌
build_exe_options:‌构建执行文件的选项。‌包括需要打包的额外包和需要包含的文件或文件夹等。‌
icon:‌图标设置。‌允许在生成的可执行文件中指定一个图标文件,‌使应用程序看起来更专业。‌
include_files:‌添加数据文件。‌如果在应用中使用了额外的数据文件(‌如配置文件、‌图像等)‌,‌可以在 setup 脚本中添加这些文件。‌
hide_console:‌隐藏控制台窗口。‌对于 GUI 应用,‌可以通过设置 base 参数为 Win32GUI 来隐藏运行时显示的控制台窗口。‌
target-dir 和 target-name:‌指定打包后的程序路径和名称。‌这些参数可以帮助用户更好地组织和管理打包后的文件。‌
base-name:‌基础窗口名称。‌如果程序使用图形化界面,‌可以通过设置 base-name 参数来配置程序打开时是否隐藏黑窗口。‌
include-modules:‌要包含的模块或库。‌允许用户在打包过程中包含特定的模块或库,‌以确保打包后的程序能够正常运行。‌

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统笔记二

虚拟内存 把不常用的数据放到硬盘上去&#xff0c;常用的代码或者数据才加载到内存&#xff0c;来实现虚拟的大内存的感觉 覆盖技术 目标&#xff1a;在较小内存运行较大程序。 原理&#xff1a;把程序按自身逻辑结构划分若干功能上相对独立的程序模块。不回同时执行的模块共…

FreeRTOS学习笔记(一)—— 裸机和RTOS,Freertos移植(MDK),stm32cubeIDE使用Freertos

FreeRTOS学习笔记&#xff08;一&#xff09;—— 裸机和RTOS&#xff0c;Freertos移植&#xff08;MDK&#xff09;&#xff0c;stm32cubeIDE使用Freertos 文章目录 FreeRTOS学习笔记&#xff08;一&#xff09;—— 裸机和RTOS&#xff0c;Freertos移植&#xff08;MDK&#…

uniapp/vue个性化单选、复选组件

个性化单选和复选组件在网页设计中非常常见&#xff0c;它们不仅能够提升用户界面的美观度&#xff0c;还能改善用户体验。此组件是使用vue uniapp实现的个性化单选复选组件。设计完成后&#xff0c;点击生成源码即可。 拖动组件过设计区 每行显示数量 默认支持每行三个&#…

Maven-学习首篇

目录 Maven简介基本概念&特点Maven的安装与配置Maven基础概念及使用方法Maven的项目结构Maven的使用Maven的依赖管理Maven的生命周期和插件常见疑问Maven的插件机制是如何工作的&#xff1f;Maven的POM文件主要包含哪些内容&#xff1f;Maven的生命周期包括哪些阶段&#x…

【C++语言】list的构造函数与迭代器

1. list的介绍及使用 1.1 list的介绍 list的文档介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点…

C++中的IO流

目录 1.C语言的输入与输出 2.流是什么 3.CIO流 标准IO流 IO流的四个标志 C文件IO流 4.stringstream的简单介绍 1.C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键 盘)读取数据&#xff0c;并将值存放在变…

钢铁百科:A572Gr60和SA572Gr60材质分析、A572Gr60和SA572Gr60简介

A572Gr60和SA572Gr60是两种常用的结构钢板&#xff0c;它们在材质、执行标准、化学成分、力学性能、交货状态、应用范围和常用规格方面有所不同。 材质&#xff1a; A572Gr60&#xff1a;属于美国材料与试验协会&#xff08;ASTM&#xff09;标准下的A572系列高性能结构钢&…

UIAbility组件基础(一)

一、概述 UIAbility组件是一种包含UI的应用组件&#xff0c;主要用于和用户交互。UIAbility组件是系统调度的基本单元&#xff0c;为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。每一个UIAbility组件实例都会在最近任务列表中显示一个对应的任务。 U…

自研低代码海报制作平台学习分享计划

vue3组件库开发前面咱卷完了JuanTree组件&#xff0c;接下来一起来卷vue3低代码海报制作平台的基础组件实现。首先是拖拽基础组件的开发&#xff0c;整好把前面学习的知识点再运用进来。 文章目录 效果演示基本拖拽区域拖拽旋转其他效果待实现 录屏说明 看一步步实现的效果&…

C++--类和对象(二)

类和对象的基础定义可参看&#xff1a;C--类和对象&#xff08;一&#xff09;-CSDN博客 本篇讲述类和对象里相当重要的几个成员函数 目录 类的默认成员函数&#xff1a; 1.构造函数 2.析构函数 3.拷贝构造函数 &#xff08;1&#xff09;无限递归调用拷贝构造 &#xff…

在Ubuntu中重装Vscode(没有Edit Configurations(JSON)以及有错误但不标红波浪线怎么办?)

在学习时需要将vscode删除重装&#xff0c;市面上很多方法都不能删干净&#xff0c;删除之后拓展都还在。因此下面的方法可以彻底删除。注意&#xff0c;我安装时使用的是snap方法。 如果你的VScode没有Edit Configurations(JSON)&#xff0c;以及有错误但不标红波浪线的话&…

基于QT实现的TCP连接的网络通信(客户端)

上篇介绍了QT实现网络通信的服务器端&#xff0c;还没看服务器的朋友们先去上篇了解&#xff0c;这篇我来实现一下客户端的实现。 首先还是新建一个项目 选择mainwindow类 在通信前将.pro文件的第一行代码中追加network 窗口搭建 在mainwindow.ui中完成一下窗口的搭建 首先在…

序列建模之循环和递归网络 - 双向RNN篇

序言 在序列建模的广阔领域中&#xff0c;循环神经网络&#xff08; RNN \text{RNN} RNN&#xff09;以其独特的循环结构&#xff0c;在处理序列数据方面展现出了强大的能力。然而&#xff0c;传统的单向 RNN \text{RNN} RNN在处理某些复杂任务时&#xff0c;如自然语言处理中…

基于51单片机的士出租车计价器proteus仿真

地址&#xff1a;https://pan.baidu.com/s/1-GOrUrYlyGZFfkiiO6i5yg 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectron…

「Unity3D」TextMeshPro-Text(UI)无法拖放到TextMeshPro的属性面板上

继承MonoBehaviour&#xff0c;然后定义public TextMeshPro textPro&#xff0c;属性面板上就会有TextMeshPro的拖放槽&#xff08;slot&#xff09;&#xff0c;以配置含有TextMeshPro的组件对象&#xff08;GameObject&#xff09;。 但此时会发现&#xff0c;含有TextMeshPr…

李沐老师动手深度学习pytorch版本的读取fashion_mnist数据并用AlexNet模型训练,其中修改为利用本地的数据集训练

李沐老师的d2l.load_data_fashion_mnist里面没有root参数&#xff0c;所以只会下载&#xff0c;不能利用本地的fashion_mnist数据。所以我使用torchvision 的datasets里面FashionMNIST方法&#xff0c;又由于李沐老师此处是利用AlexNet模型来训练fashion_mnist数据&#xff0c;…

xiaomi pad 6PRO 小米平板6 pro hyperOS降级 澎湃os 降级MIUI 14 教程 免解锁BL 降级,168小时解锁绑定

小米平板 6 Pro 机型代号 &#xff1a;liuqin 降级MIUI 14 小米澎湃 OS 正式版 澎湃OS安卓发布日期卡刷包线刷包OS1.0.7.0.UMYCNXM14.02024-07-13miui_LIUQIN_OS1.0.7.0.UMYCNXM_d618a5c980_14.0.zipliuqin_images_OS1.0.7.0.UMYCNXM_20240705.0000.00_14.0_cn_8cbf5920be.…

Android14之解决编译libaaudio.so报错问题(二百二十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列…

OceanBase内存管理小窍门

本文来自OceanBase热心用户的实践分享。 本文主要是对OceanBase内存管理的实用技巧分享&#xff0c;而并非直接深入OceanBase的代码层面进行阐述。​​​​​​​ 阅读本文章你将了解&#xff1a; 重载运算符new 与malloc在返回值上区别&#xff1f;在ceph 双向链表新用法&am…

[240815] GPT-4o 系统安全卡 | AMD 完成对 Silo AI 的收购,加速 AI 模型在硬件上的开发和部署

目录 GPT-4o 系统安全卡AMD 完成对 Silo AI 的收购&#xff0c;加速 AI 模型在硬件上的开发和部署 GPT-4o 系统安全卡 一、概述 GPT-4o 是一个多模态模型&#xff0c;可以处理文本、音频、图像和视频输入&#xff0c;并生成文本、音频和图像输出。本文概述了 GPT-4o 发布前的…