Python使用nuitka进行打包简易教程(终极教程以后只用它打包了)

news2024/10/8 11:01:10

目录

  • 专栏导读
  • 库的介绍(优点)
  • 使用nuitka --help可查看所有命令
  • 库的安装
  • 1、虚拟环境安装
  • 2、在打包时候缺少某些组件,会提示你是否安装,输入是(第3步有截图)
    • 个人喜好,可以加上 icon参数
  • 3、开始打包
  • 4、打包完成
  • 查看大小
  • 总结

专栏导读

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

库的介绍(优点)

  • 1、性能提升:Nuitka 编译的代码通常比纯 Python 代码运行得更快,特别是在计算密集型任务中。

  • 2、兼容性:Nuitka 完全兼容标准的 Python 语法,几乎不需要对现有代码进行修改。

  • 3、支持多种平台:它可以在 Windows、Linux 和 macOS 等多个平台上使用,生成的可执行文件也可以在这些平台上运行。

  • 4、模块化和包支持:Nuitka 支持大部分 Python 模块和包,包括一些常用的第三方库。

  • 5、易于使用:与其他打包工具相比,Nuitka 的使用相对简单,只需通过命令行即可编译。

  • 6、生成独立的可执行文件:可以生成无需依赖 Python 解释器的独立可执行文件,便于分发和部署。

  • 7、更好的错误捕获:在编译时会捕获部分语法错误,有助于提前发现问题。

  • 总结:Nuitka 适合需要提升性能或希望创建独立分发的 Python 应用程序的开发者。

使用nuitka --help可查看所有命令

--mingw64 默认为已经安装的vs2017去编译,否则就按指定的比如mingw(官方建议)

--standalone 独立环境,这是必须的(否则拷给别人无法使用)

--windows-disable-console 没有CMD控制窗口

--output-dir=out 生成exe到out文件夹下面去

--show-progress 显示编译的进度,很直观

--show-memory 显示内存的占用

--enable-plugin=pyside6

--plugin-enable=tk-inter 打包tkinter模块的刚需

--plugin-enable=numpy 打包numpy,pandas,matplotlib模块的刚需

--plugin-enable=torch 打包pytorch的刚需

--plugin-enable=tensorflow 打包tensorflow的刚需

--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下的图标位置

--onefile 像pyinstaller一样打包成单个exe文件

--include-package=复制比如numpy,PyQt5 这些带文件夹的叫包或者轮子

--include-module=复制比如when.py 这些以.py结尾的叫模块

--enable-plugin=pyqt5 就是因为少了这个参数,携带上就对了

库的安装

用途安装
nuitka大宝库pip install nuitka -i https://pypi.tuna.tsinghua.edu.cn/simple/

1、虚拟环境安装

  • pip install nuitka

在这里插入图片描述

2、在打包时候缺少某些组件,会提示你是否安装,输入是(第3步有截图)

  • 下面是我喜欢的打包方式,您也可以延续我的喜欢

  • --enable-plugin=pyqt5 这个参数由于我用到了PyQt5,所以我得加上,请按照您的需求调整

nuitka --standalone --onefile --enable-plugin=pyqt5 --windows-console-mode=disable  D:\python学习\测试\main.py

个人喜好,可以加上 icon参数

  • --windows-icon-from-ico=你的.ico 软件的图标,这样打包好的EXE,更加好看

  • icon图标网站:https://icons8.com/

在这里插入图片描述

3、开始打包

  • 使用PyQt5加上参数: -enable-plugin=pyqt5

nuitka --standalone --onefile --enable-plugin=pyqt5 --windows-console-mode=disable  D:\python学习\测试\main.py
  • 使用tkinter加上参数: --plugin-enable=tk-inter

nuitka --standalone --onefile --plugin-enable=tk-inter --windows-console-mode=disable --windows-icon-from-ico="D:\icons8-csv-100.png" "D:\CSV格式修改GUI工具.py"

在这里插入图片描述
在这里插入图片描述

4、打包完成

在这里插入图片描述

  • 双击使用

在这里插入图片描述

查看大小

在这里插入图片描述

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

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

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

相关文章

Linux TFTP服务器搭建

话得多说 先水一波字 TFTP(Trivial File Transfer Protocol)是一种简单的文件传输协议。它用于在计算机网络中传输文件,特别适用于在网络设备(如开发板和Linux系统下)代码调试等操作。TFTP使用UDP(User Da…

春季台球行业招商和宣传大会,2025郑州台球展会3月举办

3月招商季,壹肆柒2025郑州台球展助力企业开拓全国台球消费市场; 2025中国(郑州)国际台球产业博览会(壹肆柒台球展) The 2025 China (Zhengzhou) International Billiards Industry Expo 开展时间&#xf…

[OS] 再探 kernel_threads-1

Linux内核线程(kernel threads)是运行在内核空间的线程,它们不拥有独立的地址空间,因此不能访问用户空间,但可以访问内核空间的数据结构。内核线程通常用于执行一些需要并行处理的任务,例如文件系统的任务、…

升维定位在开源AI智能名片2+1链动模式S2B2C商城小程序中的应用与价值

摘要:本文探讨了升维定位理论在开源AI智能名片21链动模式S2B2C商城小程序中的应用。阐述了升维定位对于创新型产品和创业阶段企业的适用性,分析开源AI智能名片21链动模式S2B2C商城小程序如何利用升维定位创造新的需求市场、成为新市场领导者,…

【Linux】自主shell编写

如果学习了常见的Linux命令,exec*函数,环境变量,那你就可以尝试一下写一个简单的shell; 下面跟着我的步骤来吧!!🤩🤩 输入命令行 既然要写一个shell,我们第一步先把这个输入命令行…

定制化的新生代 Layer1 代币经济学

原文标题:《Next-Gen Layer 1 Tokenomics: Three Pillars for the Token Flywheel》 撰文:Eren,Four Pillars 编译:Tia,Techub News Layer1 代币经济学的转变 最近获得大量关注和大量投资的项目(如 Berac…

避免误修改:如何在Word中锁定指定内容?

在工作中,保护Word文档的某些部分免于被他人修改是一项常见需求。无论是分享给同事、客户,还是用作正式的合同文件,都需要确保关键内容不被随意更改。今天我们一起来看看,如何在Word文档中锁定部分内容,使其无法编辑修…

数据结构--线性表双向链表的实现

目录 思路设计 总体思维导图 插入部分 头插法尾插法 任意位置插入 删除部分 头结点 尾节点 中间节点 只有头结点且删除的就是头结点 ​编辑 清空链表部分 遍历清空链表的所有节点 不遍历清空 各部分代码 Main部分 MyListedList部分 IndexOutOfException部分 …

微软发布Windows 11 2024更新,新型Copilot+ AI PC功能亮相

前言 微软在Windows 11的2024更新中加强了对人工智能的应用,推出了新功能Copilot。 此次更新的版本号为26100.1742,Copilot将首先在Windows Insider中推出,计划于11月向特定设备和市场推广,用户需开启“尽快获取最新更新”选项以…

Eureka的搭建、注册和拉取

目录 搭建 动手实践 搭建EurekaServer 创建项目 编写启动类 添加application.yml文件 启动EurekaApplication ​编辑 总结 搭建EurekaServer 注册 将user-service服务注册到EurekaServer 将order-service服务注册到EurekaServer 重启order-service和user-service…

敢为天下先:论特斯拉轿车设计理念和六西格玛设计方法的应用-张驰咨询

全球竞争日益激烈的电动汽车市场,特斯拉通过其独特的设计理念和创新能力脱颖而出。其核心驱动因素之一,是特斯拉在设计和制造中的第一性原理**(First Principles)思维,以及通过应用六西格玛设计方法实现的高质量制造流…

YoloV10改进策略:BackBone改进|CAFormer在YoloV10中的创新应用,显著提升目标检测性能

摘要 在目标检测领域,模型性能的提升一直是研究者和开发者们关注的重点。近期,我们尝试将CAFormer模块引入YoloV10模型中,以替换其原有的主干网络,这一创新性的改进带来了显著的性能提升。 CAFormer,作为MetaFormer框架下的一个变体,结合了深度可分离卷积和普通自注意力…

51c自动驾驶~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/11491137 #BEVWorld BEV潜在空间构建多模态世界模型,全面理解自动驾驶~一、引言 世界模型建模了有关环境的知识,其可以通过给定的条件对未来进行合理的想象。未来想象要求世界模型具有物理规律的理解…

五万字综述!Prompt Tuning:深度解读一种新的微调范式

导读 本文将深入解读Prompt-Tuning的微调范式,以综述讨论的形式展开。 \ 这绝对是我看过最全面细致的Prompt Tuning技术综述之一,全文共五万多字,看完之后你一定发出一样的感叹! 阅读该博客,您将系统地掌握如下知识…

【操作系统】虚拟机

🌹😊🌹博客主页:【Hello_shuoCSDN博客】 ✨操作系统详见 【操作系统专项】 ✨C语言知识详见:【C语言专项】 首先先来了解传统的计算机 在生产的时候,物理机器(硬件)其实是非常强大的…

32 基于51单片机的电机控制和角度检测

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,采用滑动变阻器连接ADC0832数模转换器模拟角度传感器,然后通过LCD1602显示数值,然后按键按下不动,电机正转,松开停止。第二…

DHCP Snooping典型配置举例(如何防止路由器乱接问题)

全局开启DHCP Snooping配置举例 组网需求 Router B通过以太网端口Ten-GigabitEthernet0/0/6连接到合法DHCP服务器,通过以太网端口Ten-GigabitEthernet0/0/8连接到非法DHCP服务器,通过Ten-GigabitEthernet0/0/7连接到DHCP客户端。要求: 与合…

33 基于单片机的智能窗帘控制系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,采用DHT11温湿度传感器检测温湿度,滑动变阻器连接ADC0832数模转换器转换模拟,光敏传感器,采用GP2D12红外传感器,通过LCD1602显示屏显示…

嵌入式硬件设计知识详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

015 品牌关联分类

文章目录 后端CategoryBrandEntity.javaCategoryBrandController.javaCategoryBrandServiceImpl.javaCategoryServiceImpl.javaBrandServiceImpl.java删除 npm install pubsub-jsnpm install --save pubsub-js这个错误是由于在尝试安装 pubsub-js 时,npm 发现了项目…