![](https://img-blog.csdnimg.cn/229327f2ce6a494ead02f2271009bfc7.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《Nuitka打包实战指南》
文章平均质量分 81
笔者本人拥有多年打包经验,编写的这部专栏会带大家详细了解Nuitka,好让大家能够顺利打包自己的程序代码,避免踩坑。
文章简洁易懂,包含丰富的打包实战技巧,相信读者朋友会喜欢。有任何问题可以私信我。
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
la_vie_est_belle
热爱代码
展开
-
《Nuitka打包实战指南》
Nuitka这一Python打包库逐渐开始进入开发者的视野。它将要打包的代码编译成C语言级别的文件,不仅提升了程序的运行效率,也加强了代码的安全性。Nuitka支持Python 2.6-2.7和Python 3.3 - 3.10,能够在Windows、MacOS和Linux系统上打包,上手也非常容易。笔者本人拥有多年打包经验,编写的这部专栏会带大家详细了解Nuitka,好让大家能够顺利打包自己的程序代码,避免踩坑。 文章简洁易懂,包含丰富的打包实战技巧,相信读者朋友会喜欢。有任何问题可以私信原创 2022-01-29 10:11:28 · 9347 阅读 · 8 评论 -
《Nuitka打包实战指南》第一节 下载和环境配置
第一节 下载和环境配置在本节,笔者会一步步引导你下载并安装好Nuitka打包所需的软件,并配置好打包环境。1.1 下载Nuitka使用以下pip命令下载Nuitka:pip install Nuitka如果下载速度太慢,我们可以尝试更改下载源。使用以下命令即可:pip install Nuitka -i https://pypi.tuna.tsinghua.edu.cn/simple下载完毕后,输入以下命令来验证安装是否成功:nuitka --version如果原创 2022-01-27 21:59:57 · 5130 阅读 · 9 评论 -
《Nuitka打包实战指南》第二节 一个简单的打包示例
第二节 一个简单的打包示例在本小节,笔者会带大家用打包一个简单的程序,以此来入门Nuitka。2.1 编写要打包的程序笔者首先在桌面上新建了一个名为demo的文件夹。之后在该文件夹中新建了hello.py。在hello.py中编写以下代码:print('Hello World')input('Press any key to exit...')该程序非常简单,就打印了一个Hello World字符串并等待用户输入后退出。2.2 快速CD到目标位置我们.原创 2022-01-28 09:31:21 · 2638 阅读 · 2 评论 -
《Nuitka打包实战指南》第三节 给应用程序加上图标
第三节 给应用程序加上图标如果程序要发给客户或者自己发布,我们自然是要给它加一个好看的图标的。在本小节,笔者就带大家了解如何用给应用程序加上图标。笔者已经将本节用到的图标文件放入百度网盘中,链接如下:下载过来后,请将png或ico图标放在demo文件夹中。3.1 添加png或ico图标我们可以通过--windows-icon-from-ico命令给应用程序加上图标,使用时我们要在后面要加一个等号=,再加上图标的路径。比如:--windows-icon-.原创 2022-01-28 09:36:18 · 1578 阅读 · 0 评论 -
《Nuitka打包实战指南》第四节 先调试再发布
当一个程序打包完毕后,可能会出现一些奇奇怪怪的报错。我们当然不能把有报错的程序发给客户,所以在发布程序前一定要先调试解决掉报错。4.1 黑框会告诉你报错信息当我们打包一个有界面的程序时,肯定不想让打包后的程序在运行时出现黑色的命令行窗口,这样很不友好。可以使用--windows-disable-console命令去掉黑框,但是请读者注意,在确定打包后的程序无任何报错之前,不要使用该命令,因为报错会显示在黑框中,去掉了的话,就看不到了。注:在MacOS系统中上使用--macos-disable-原创 2022-01-28 09:40:39 · 1419 阅读 · 2 评论 -
《Nuitka打包实战指南》第五节 深入理解单文件打包模式
第五节 深入单文件打包模式我们在第二节 一个简单的打包示例中知道,可以用--onefile命令将程序代码打包成单个可执行文件。在本小节,笔者就带读者深入了解下这个单文件打包模式。本节要打包的程序代码:print('Hello World')input('Press any key to exit...')5.1 单个可执行文件是如何运行的--onefile与--standalone命令的区别就在于前者把依赖文件全部放到了可执行文件中。通俗点讲就是--onefile命令在打包时原创 2022-01-28 09:48:38 · 1272 阅读 · 0 评论 -
《Nuitka打包实战指南》第六节 打包资源文件
第六节 打包资源文件如果程序代码用到了一些资源文件(如图片、音视频、json文件),我们就需要将这些资源文件一同进行打包,否则程序运行会报找不到某某某文件的错误。读当然可以选择在打包完毕之后手动复制资源文件,但是这只能对--standalone多文件模式打包有效。如果你用--onefile命令将程序打包成单个可执行文件,那么手动复制是不可行的。因为程序只有在双击运行后,才会解压出临时文件夹,所以我们是无法在程序运行前将资源复制到临时文件夹的,那么程序也会因无法定位到资源文件而报错了。不管原创 2022-01-28 09:58:04 · 2224 阅读 · 5 评论 -
《Nuitka打包实战指南》第七节 启用插件
我们在第四节打包以下程序代码时,使用了--enable-plugin=tk-inter将tkinter这个标准库打包进来。import tkinter win = tkinter.Tk()win.iconbitmap('./disk.ico') # 设置窗口图标为当前路径下的disk.icowin.mainloop()在打包一些标准库和第三方库时,我们需要添加--enable-plugin命令。该命令会让Nuikta启动相关插件将库所用到的一些依赖一起打包进来。不添加--ena原创 2022-01-28 10:16:08 · 2144 阅读 · 0 评论 -
《Nuitka打包实战指南》第八节 减小打包后的文件大小
打包后的文件大小是大家都比较关心的一点,如果一个简单的程序打包后有几百兆,那肯定是把无关的文件都打包进来了,而且这样的文件也不好直接发给客户。减小打包后的文件大小非常重要,在本节笔者会教大家几种方法来实现。8.1 使用UPX用UPX可以把打包好的可执行文件进一步压缩,这样就可以得到一个更小的EXE。我们首先去UPX官网下载对应系统版本的UPX工具。笔者使用的是Windows10 64位的电脑,所以就下载这个win64版本的UPX:原创 2022-01-28 10:44:47 · 2987 阅读 · 0 评论 -
《Nuitka打包实战指南》第九节 了解其他打包命令
第九节 了解其他打包命令在本节,笔者会带大家了解之前没有涉及过但又可能会用到的命令。-o我们在打包后生成的可执行文件名称默认是入口py文件的名称,使用该命令可以进行修改。注:该命令只能用于--onefile打包模式,无法用在--standalone上。不过hello.dist文件夹中的exe文件名字也是会被修改的。使用格式如下:-o 文件名称.exe用以下命令打包:nuitka --onefile -o hi.exe hello.py可以看到生成的可执行文件名称变为了h原创 2022-01-28 10:52:04 · 1386 阅读 · 0 评论 -
《Nuitka打包实战指南》第十节 制作软件安装包
第十节 制作软件安装包打包完之后,如果能制作一个安装程序发送给客户,那体验感会更好,软件也可以显得更加专业。在本小节,笔者会教大家如何使用Inno Setup来给自己打包好的软件制作安装包。10.1 下载并安装Inno Setup首先我们访问官网下载Inno Setup:......原创 2022-01-30 19:50:38 · 801 阅读 · 1 评论 -
《Nuitka打包实战指南》实战打包PyQt5
打包示例源码下载:请看文章末尾版本信息:PyQt5==5.15.2Nuitka==0.6.19.1打包环境:Windows10 64位笔者就拿在《快速掌握PyQt5》第二十三章 主窗口QMainWindow中写的记事本应用来打包。项目目录如下:原创 2022-01-28 13:33:00 · 2583 阅读 · 1 评论 -
《Nuitka打包实战指南》实战打包PySide2
实战打包PySide2打包示例源码下载:请看文章末尾版本信息:PyQt5==5.15.2Nuitka==0.6.19.1打包环境:Windows10 64位笔者就拿在《快速掌握PyQt5》第二十三章 主窗口QMainWindow中写的记事本应用来打包。因为PySide2和PyQt5两个库所使用的API绝大部分是一样的。所以针对这个记事本应用,我们只需要把导入地方的PyQt5改成PySide2即可项目目录如下:hello.py修改代..原创 2022-01-29 10:08:33 · 1469 阅读 · 6 评论 -
《Nuitka打包实战指南》实战打包Numpy
实战打包Numpy打包示例源码下载:请看文章末尾版本信息:PySide2==5.15.2Nuitka==0.6.19.1打包环境:Windows10 64位笔者就拿在《快速掌握PyQt5》第二十三章 主窗口QMainWindow中写的记事本应用来打包。因为PySide2和PyQt5两个库所使用的API绝大部分是一样的。所以针对这个记事本应用,我们只需要把导入地方的PyQt5改成PySide2即可项目目录如下:hello.py修改代码如下(..原创 2022-01-30 10:38:00 · 1380 阅读 · 2 评论 -
《Nuitka打包实战指南》实战打包Pandas
实战打包Numpy打包示例源码下载:请看文章末尾版本信息:pandas==1.3.5Nuitka==0.6.19.1打包环境:Windows10 64位打包代码如下:import pandas as pddf = pd.read_csv('./hello.csv')data = df.head()print(data)项目目录如下:原创 2022-01-31 09:42:30 · 2648 阅读 · 7 评论 -
《Nuitka打包实战指南》实战打包TensorFlow
打包示例源码:请看文章末尾版本信息:tensorflow==2.3.0Nuitka==0.6.19.1打包系统:Windows10 64位打包前我们需要运行下代码,确保没有报错。注:针对该版本的tensorflow,电脑CPU必须支持AVX指令,否则会报ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败这个错误 (具体请看这篇文章)。原创 2022-01-31 18:10:34 · 842 阅读 · 1 评论 -
《Nuitka打包实战指南》实战打包PyGame
实战打包PyGame打包示例源码:请看文章末尾版本信息:pygame==2.1.2Nuitka==0.6.19.1打包系统:Windows10 64位笔者从M to the B / Coffee Breakout · GitLab上下载了Coffee Break Out这个打砖块游戏,将以此来作为打包示例。下载过来的项目文件内容如下:html文件夹中的是该项目的文档;res文件夹中的是资源文件;venv文件夹跟虚拟环境配置有关;CoffeeBreakOut.py原创 2022-02-01 17:30:25 · 3676 阅读 · 2 评论 -
《Nuitka打包实战指南》实战打包Matplotlib
实战打包Matplotlib打包示例源码:请看文章末尾版本信息:matplotlib==3.4.3Nuitka==0.6.19.1打包系统:Windows10 64位打包前先运行以下程序,确保没有问题:原创 2022-02-03 12:53:36 · 2261 阅读 · 0 评论 -
《Nuitka打包实战指南》实战打包openpyxl
实战打包openpyxl打包示例源码:请看文章末尾版本信息:openpyxl==3.0.9Nuitka==0.6.19.1打包系统:Windows10 64位项目目录如下:原创 2022-02-10 19:29:38 · 1711 阅读 · 0 评论 -
《Nuitka打包实战指南》实战打包PyTorch
实战打包PyTorch打包示例源码:请看文章末尾版本信息:torch==1.10.2Nuitka==0.6.19.1打包系统:Windows10 64位打包前我们需要运行下代码,确保没有报错。hello.py代码如下:原创 2022-02-11 22:33:56 · 2104 阅读 · 3 评论 -
《Nuitka打包实战指南》实战打包Playwright
打包时解决掉的问题:打包示例源码:请看文章末尾版本信息:playwright==1.28.0Nuitka==0.6.19.1打包系统: Windows10 64位打包前我们需要运行下代码,确保没有报错。hello.py代码如下:运行正常,成功打开了Chromium浏览器并截取了图片。 打包分析如下:打包命令如下:打包结束后,运行hello.exe文件,发现闪退。于是将hello.exe文件拖入命令行窗口中回车运行: 按照提示我们去Python安装路径下的site-packages文件夹下复制pl原创 2022-12-07 09:25:59 · 772 阅读 · 0 评论 -
《Nuitka打包实战指南》实战打包OpenCV-Python
按照提示我们去Python安装路径下的site-packages文件夹下复制cv2库到hello.dist文件夹中。打包结束后,运行hello.exe文件,发现闪退。命令将必要的文件夹一同打包进来,如果要去掉黑框的话,则加上。打包前我们需要运行下代码,确保没有报错。现在运行hello.exe发现正常了。Windows10 64位。原创 2022-12-31 10:02:51 · 954 阅读 · 8 评论