《LearnPython-Python学习笔记》-Python打包exe的王炸-Nuitka

admin 2025-11-07 01:17:51 编程 来源:ZONE.CI 全球网 0 阅读模式

    经测试,Nuitka打包后的exe比Pyinstaller打包后的exe运行速度提升30%,PyQT5的UI文件转换成py文件转换成C语言后,界面秒开呀。

    • Numpy等类似c程式和pyd的调用还是忽略编译好,不要一咕噜全梭哈啦,编译后反而更慢。重点事项是要小本本记上,别说本豪猪没有提醒呀
    • Nuitka的优化命令阅读本文后再了解下《Nuitka之乾坤大挪移-让天下的Python都可以打包》,打包和调试时间节省到5分钟内。PyQT,Numpy,Scipy,Pandas,Opencv,OpenpyXL等pyd的模块不编译,交给python3x.dll来调用,避免模块依赖失败。生成的UIxxx.py文件和你编写的py模块(可以包含IP,密码)放到一个下一级的文件夹,设置为必须编译为C/C++。**从此你的打包成功率提升到95%,exe打开速度提升到一秒左右_**。
      1. --nofollow-imports # 所有的import不编译,交给python3x.dll执行
      2. --follow-import-to=need # need为你需要编译成C/C++的py文件夹命名
    1. 下载MinGW64 8.1(MinGW编译器比MSVS编译器要快,并且不需要下载一堆20多G的安装文件到C盘),市面上有新的版本,目前为止还是这个版本最稳定https://sourceforge.net/projects/mingw-w64/files/版本不要弄错(最低的是8.1.0版本,32和64位的版本要注意)

    image.pngimage.png2. 解压后放在C盘目录下,查询gcc.exe是否有效输入gcc.exe —version 检查是否有版本显示image.png3. 设置环境变量image.png4.安装 Nuitkapip install nuitka或者安装最新版本(根据使用经验发现新版本修复问题多,兼容性更好)pip install -U “https://github.com/Nuitka/Nuitka/archive/develop.zip“image.png5.编译文件,以下是常用命令,仅限入门使用,仅限入门使用,仅限入门使用,高级部分看另一篇教程

    —mingw64 #默认为已经安装的vs2017去编译,否则就按指定的比如mingw(官方建议)—standalone 独立环境,这是必须的(否则拷给别人无法使用)—windows-disable-console 没有CMD控制窗口—output-dir=out 生成exe到out文件夹下面去—show-progress 显示编译的进度,很直观—show-memory 显示内存的占用—include-qt-plugins=sensible,styles 打包后PyQt的样式就不会变了—plugin-enable=qt-plugins 需要加载的PyQt插件—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文件(2021年我会再出教程来解释)—include-package=复制比如numpy,PyQt5 这些带文件夹的叫包或者轮子—include-module=复制比如when.py 这些以.py结尾的叫模块如下是一条完整的命令 编译的py文件为index.py(注意这是入门命令)nuitka —mingw64 —standalone —show-progress —show-memory —plugin-enable=qt-plugins —include-qt-plugins=sensible,styles —output-dir=out index.py看视频中的exe运行是不是很快,动手试试吧。可以放心用Python写代码了,也不用担心源码被别人看见,速度慢也不见得哦,现在可是C语言的代码了。著名的Blender就是用Nuitka编译的image.png这些文章都是我花费了好久的时间不断测试与探索,后期的一些bug总结文章是我们群的极客们总结的,顺手点个赞,与我们一起祝python从此走出反编译和速度慢的魔域!!!

    https://zhuanlan.zhihu.com/p/133303836

    以太坊cppgolang区别 编程

    以太坊cppgolang区别

    以太坊是一种去中心化的开源平台,它采用智能合约技术,旨在构建和运行不受干扰的分布式应用程序。作为目前最受欢迎的区块链平台之一,以太坊提供了多种编程语言的支持,其
    progolang 编程

    progolang

    Go语言(Golang)是由Google开发的一门静态类型编程语言。作为一名专业的Golang开发者,我深知这门语言的优势和特点。在本文中,我将介绍Golang
    golangn个发送者 编程

    golangn个发送者

    Golang是一种开源的编程语言,由Google团队开发,旨在提高程序的并发性和简化软件开发过程。在Go语言中,有时需要向多个接收者发送信息。本文将介绍如何在G
    golang技能图谱 编程

    golang技能图谱

    从互联网行业的快速发展到人工智能技术的日益成熟,各种编程语言也应运而生。而在这众多的编程语言中,Golang(即Go)作为一门强大且高效的开发语言备受关注。Go
    评论:0   参与:  12