和nuitka。 这里的pyinstaller是通过设置key来对源码进行加密的;而nuitka则是将python源码转成C++(这里得到的是二进制的pyd文件,防止了反编译),然后再编译成可执行文件。 方便移植。 nuitka真香! 同一个项目,生成的exe只有7M! 打包超级快(1min以内),启动超级快。 二. Nuitka的安装及使用 2.1 nuitka的安装 直接利用pip即可安装:pip install Nuitka 下载vs2019(MSVS)或者MinGW64,反正都是C++的编译器,随便下。 --plugin-enable=qt-plugins:我这里用到pyqt5来做界面的,这里nuitka有其对应的插件。
官方开源地址:https://github.com/Nuitka/Nuitka 需求 自己写的python代码,不想给别人看,直接让别人用,且不能被破解看到源码,还得追求一下运行速度! (优点:不被破解看到源码;缺点:比nuitka速度慢) Nuitka 追求速度,且不被反编译直接看到源码,可以。 windows环境下(win7最高支持python3.8的打包) 当前环境:win10 64位、python3.9、nuitka1.9.5 ①安装nuitka:pip install nuitka==1.9.5 nuitka打包命令 cmd中 执行 nuitka --help > command.txt,然后vscode打开command.txt就可以一目了然。 python -m nuitka --help # 查看 Nuitka 帮助手册 python -m nuitka --plugin-list # 查看 Nuitka 插件列表 常用命令: 【1】nuitka
,这个时候如何能保障账号密码的安全性呢(当然了,反编译还是防不住的), 获取之前你使用过pyinstaller解决过类似问题,今天我们要说的并不是pyinstaller, 而是nuitka。 关于nuitka Nuitka is a Python compiler written in Python. Nuitka是用Python编写的Python编译器。支持Python 2.6、2.7、3.3、3.4、3.5、3.6、3.7和3.8等版本。将你的python程序打包成一个可执行文件。 官网和github Nuitka对应的github地址[1] Nuitka官网[2] 说明 单文件或目录 nuitka和pyinstaller一样,也是支持生产单文件和目录形式的,如果没有指定,那就是目录形式的 ,用着还行~ 引用链接 [1] Nuitka对应的github地址: https://github.com/Nuitka/Nuitka [2] Nuitka官网: http://nuitka.net/
和nuitka。 这里的pyinstaller是通过设置key来对源码进行加密的;而nuitka则是将python源码转成C++(这里得到的是二进制的pyd文件,防止了反编译),然后再编译成可执行文件。 方便移植。 nuitka真香! 同一个项目,生成的exe只有7M! 打包超级快(1min以内),启动超级快。 二. Nuitka的安装及使用 2.1 nuitka的安装 直接利用pip即可安装:pip install Nuitka 下载vs2019(MSVS)或者MinGW64,反正都是C++的编译器,随便下。 --plugin-enable=qt-plugins:我这里用到pyqt5来做界面的,这里nuitka有其对应的插件。
不过当时有不少人都提到另一个名字:nuitka。 好好好,今天我就来讲讲,如何用nuitka打包Python程序,以及它的一些隐藏功能。 pip install nuitka pip install 安装,完成后就可以通过 nuitka + 要打包的代码文件名进行打包。 而nuitka是将Python代码转成C代码,再通过C编译器编译出机器码并优化。所以,更准确来说,nuitka是将python代码编译成可执行文件,而不仅仅是字面意义的打包。 nuitka提供了很多这样的打包参数,让你更精准控制打包出来的程序效果。用 nuitka --help 命令可以查看所有参数,但它的参数实在也太多了。 幸好,已经有大手子做了nuitka的辅助工具,比如这个NuitkaGUI,就可以让你通过可视化的选项,傻瓜式地设定打包参数,将nuitka的使用体验又拉高了一个档次。
小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录打包工具对比PyInstallercx_FreezePyOxidizerNuitkapy2exeNuitka安装Nuitka Nuitka 特点:将 Python 代码编译为 C 语言,再生成可执行文件,提升性能并增强代码保护。 优点: 生成的可执行文件运行速度更快。 源代码难以反编译,增强安全性。 Nuitka安装 GitHub - Nuitka/Nuitka pyinstaller使用最方便,但exe实在太大了,一个tkinter窗口程序打包为200MB,因此转向Nuitka。 pip install nuitkaNuitka打包 Nuitka的功能很强大,因此配置项也比较多,不过一般来说以下应该够用了。 --enable-plugin=tk-inter启用 Nuitka 提供的 Tkinter 插件,自动处理 Tkinter 相关依赖和数据文件(如 Tcl/Tk DLL、字体、图标等)。
0x03 使用Nuitka编译Python脚本 $ pip install nuitka $ nuitka pystone.py Nuitka-Options:INFO: Used command line Nuitka:INFO: Starting Python compilation with Nuitka '1.1.8' on Python '3.7' commercial grade 'not installed Nuitka:INFO: Running C compilation via Scons. Nuitka-Scons:INFO: Backend C compiler: gcc (gcc). Nuitka-Scons:WARNING: You are not using ccache. 而Nuitka相比Cython,可以同时编译多个Python脚本,功能上更加强大一些,性能也提升了不少。
pyinstaller和Nuitka使用感受 1.1 使用需求 这次也是由于项目需要,要将python的代码转成exe的程序,在找了许久后,发现了2个都能对python项目打包的工具——pyintaller 和nuitka。 nuitka真香! 同一个项目,生成的exe只有7M! 打包超级快(1min以内),启动超级快。 Nuitka的安装及使用 2.1 nuitka的安装 直接利用pip即可安装:pip install Nuitka 下载vs2019(MSVS)或者MinGW64,反正都是C++的编译器,随便下。 --plugin-enable=qt-plugins:我这里用到pyqt5来做界面的,这里nuitka有其对应的插件。
5、使用Nuitka Nuitka是一个Python编译器,它可以将Python代码编译成C++代码,然后将其打包成可执行文件。 使用Nuitka打包Python代码也很简单,只需要在命令行中输入以下命令: nuitka your_script.py 这将生成一个可执行文件,可以在Windows、Linux和MacOS上运行。 6、使用Nuitka+pyinstaller Nuitka和pyinstaller可以结合使用,将Python代码编译成C++代码,然后使用pyinstaller将其打包成可执行文件。 使用Nuitka+pyinstaller打包Python代码也很简单,只需要在命令行中输入以下命令: nuitka --standalone your_script.py pyinstaller your_script.spec
-------------------------------------------D:\Python\Python313>Nuitka --version2.6.8Commercial: NonePython OfficialGIL: yesExecutable: D:\Python\Python313\python.exeOS: WindowsArch: x86_64WindowsRelease: 11Nuitka-Scons : Non downloaded winlibs-gcc 'D:\Python\mingw64\bin\gcc.exe' is being ignored, Nuitka is very dependent onNuitka-Scons: the precise one.Version C compiler: ~\AppData\Local\Nuitka\Nuitka\Cache\DOWNLO~1\gcc
最后,我选择了四个,都在 Ubuntu Linux上运行,他们是 Nuitka,PyPy,Cython 和 cx_Freeze。 Nuitka 尽管可以按照下载页面上的说明操作,但 Ubuntu 上的只需: $ sudo apt install Nuitka Nuitka 还需要一个 C 编译器,所以我下载了 clang。 使用 gcc 编译 pystone.py 就像这个(第一行)一样简单,或者使用 clang(第二行),并使用链接时间优化 gcc(第三行): $ nuitka pystone.py $ nuitka pystone.py --clang $ nuitka pystone.py --lto 编译(大约 10 秒钟)完成后,我从终端运行了 pystone: $ . 使用 Cython 进行设置有点繁琐,它不像 Nuitka 那样开箱即用。
接下来是第二种方法,使用Nuitka来打包exe文件,Nuitka会Python代码编译为C代码,生成更小的二进制文件,这样就没有各种依赖库和Python解释器一起打包的困扰了。 Nuitka用起来很简单。 pip install nuitka nuitka --standalone --onefile your_script.py 接下来是案例,我用AI写了一个简单的Python应用-胎儿体重计算器,通过几个产检参数计算胎儿的体重 接下来使用Nuitka打包出来的exe文件大小7.65MB,比PyInstaller小了35%,算是不错了,因为这个程序并没有用到第三方库。 如果是打包更加复杂的程序,软件的大小会进一步压缩,Nuitka的优势会更明显。
其中最具代表性的就是 Cython 和 Nuitka。 Nuitka:直接编译成原生可执行文件 Nuitka 则更 “激进”—— 它能将 Python 代码(包括依赖的库)直接编译成 C 代码,再生成独立的可执行文件(如 .exe),完全摆脱对 Python 小技巧:用 nuitka --standalone script.py 可生成独立可执行文件,--enable-plugin=tk-inter 等参数能支持特定库(如 Tkinter 图形界面)。 :需要保护源码或简化部署时,Nuitka 的静态编译能力更实用; 特殊场景对症选:网页端用 Brython,系统工具用 RPython,简单加速用 Shed Skin。 建议大家根据项目阶段灵活选择:开发初期用 CPython 保证效率,上线前用 PyPy 或 Cython 优化关键路径,分发时用 Nuitka 提升用户体验。
在保护Python代码安全方面,有多种混淆工具可供选择,包括 Cython, Nuitka, Pyminifier 和 IPA guard。 摘要 本文探讨了几种常见的 Python 代码混淆工具,包括 Cython、Nuitka、Pyminifier 和 IPA guard 。 正文 Cython 和 Nuitka 特点: Cython 和 Nuitka 是两种将 Python 代码编译为二进制文件的工具,可以提高代码的执行效率和安全性。
executables=[Executable("code-summar-tool.py", base="Win32GUI")] ) 执行打包: python setup.py build 方法3:Nuitka (编译为原生二进制) # 安装 pip install nuitka # 打包命令 nuitka --standalone --onefile --windows-disable-console code-summar-tool.py code-summar-tool.py 五、总结建议 • 新手推荐:使用PyInstaller或auto-py-to-exe • 跨平台需求:选择PyInstaller或cx_Freeze • 性能要求高:使用Nuitka
categories: Python进阶笔记 permalink: password: keywords: description: 使用py2exe,pyinstaller,cx_Freeze,nuitka 目录对python代码打包成exe的方式有4种,py2exe,pyinstaller,cx_Freeze,nuitka,分别对以上4种方法介绍,欢迎纠错和提供新的办法。 注意: nuitka Nuitka直接将python编译成C++代码 ,再编译C++代码产生可执行文件,完全不存在反向解析的问题,非常安全,而且由于可执行文件由C++编译而来,运行速度也会获得提升。 但是我在打包中发现了一个文件,那就是在另一台电脑上无法运行…并且实际编译时需要近20分钟,编译的时候cpu持续100% 不过如果只是自己的电脑上运行的话,还是挺好使的 官方文档 注意nuitka对python --recurse-all --standalone cc.py python -m nuitka --standalone back.py # 可以用的打包方式 python -m nuitka
相关链接:https://github.com/dropbox/pyston Nuitka Nuitka 是一个Python的替代品,一些团队正用它做完全的Python编译工具,并尝试将Python Nuitka(nuitka.net)可以将python代码转换为C++代码,然后编译为可执行文件,并通过直接调用python的api的方式实现从 解析语言到编译语言的转换,并且在转换到C++的过程中直接使用 相关链接:http://nuitka.net/ Cython Cython 是Python 的C语言扩展。准确说Cython是单独的一门语言,专门用来写在Python里面import用的扩展库。
打包成exe文件 Nuitka的作用是将Python程序转换成C语言的可执行elf文件。 经测试,Nuitka打包后的exe比Pyinstaller打包后的exe运行速度提升30%,PyQT5的UI文件转换成py文件转换成C语言后,界面秒开呀。 然后安装Nuitka:pip install nuitka; ] 这样就表示成功了: import的系统库,使用python3x.dll来执行,其他自己实现的UI界面和数据库的连接以及函数和功能实现 ,需要加密(反编译)和快速反应的,用户的体验就在这里,这部分借助Nuitka来实现。 C/C++的py文件夹命名 ——引用自:Python打包exe(32/64位)-Nuitka再下一城 第二步:调试阶段,逐个加入所需的轮子文件: 首先运行 nuitka --standalone
Nuitka 除了替换 Python 运行时,有些团队尝试将 Python 代码转换为能够在本地高效运行的其他语言的代码。 其中著名的项目是 Nuitka-- 把 Python 代码转换为 C++ 代码 -- 虽然运行时还是依赖 Python 运行时。这样限制了它的可移植性,不过性能提升是可观的。 长期规划中,Nuitka 还准备让 C 语言能够调用 Nuitka 编译的 Python 代码,这样性能提升将更加明显。 ? 4.
工具 8、rex - 让人跟容易看懂的写正则表达式的R包[6] 9、Python的打包神器——Nuitka 目前对于Python代码进行封装为exe可执行文件,见得最多的就是Pyinstaller和 Nuitka,对新手而言前者更容易入手一些,但其过程体验很差,打包速度慢且最终生成的exe文件冗余庞大,而后者则将python源码转成C++,然后编译成可执行文件,使其拥有Python的开发速度,C++ Github: https://github.com/Nuitka/Nuitka (含User Manual) 官网地址: https://nuitka.net/ 10、pyGenomeTracks -