能免费创建网站吗,衡水外贸网站建设,手机发布WordPress,广州防疫最新动态Python脚本打包
Python是解释执行语言#xff0c;需要解释器才能运行代码#xff0c;这就导致在开发机上编写的代码在别的电脑上无法直接运行#xff0c;除非目标机器上也安装了Python解释器#xff0c;有时候还需要额外安装Python第三方包#xff0c;相当麻烦。 事实上P…Python脚本打包
Python是解释执行语言需要解释器才能运行代码这就导致在开发机上编写的代码在别的电脑上无法直接运行除非目标机器上也安装了Python解释器有时候还需要额外安装Python第三方包相当麻烦。 事实上Python并不适合干这种事但有时候确实需要Python编写的程序打包给他人一键运行。 思路通常都是分析脚本依赖所有使用到的模块然后收集相关资源为了能在目标机器上正确运行会根据不同的操作系统设置一些启动代码最后将这些收集的资源和启动代码打包成一个目标机器上的可执行文件。 这个可执行文件包含了启动应用所需的所有内容包括一个小型引导加载程序。这个引导加载程序负责在运行时定位并加载Python解释器的动态链接库以及你的应用程序及其所有依赖项。也就是说其实连带打包了运行该应用所需的最小化Python环境。 如果执行exe可以发现在本地文件系统中会解压生成临时目录然后使用最小的Python环境执行了编译过的Python脚本。
Nuitka一键打包
这里介绍Nuitka的方式也是Pyside6默认的打包方式。 以打包tkinter图形界面程序为例。 python -m nuitka --onefile --enable-pluginstk-inter --include-data-dirimagesimages --include-data-diraudioaudio --windows-console-modedisable --macos-create-app-bundle --macos-app-icon./images/locked.png main.py简单解释一下这些参数
–onefile打包成一个单独的文件–standalone打包成一个目录。–enable-pluginstk-intertkinter程序需要。–include-data-diraudioaudio打包程序所用到的数据或者资源文件audioaudio的意思是当前打包目录下的audio文件夹会被打进去启动可执行程序后资源文件会被解压为audio文件夹到运行目录。可以有多个该选项打包多个目录。在入口python脚本中以相对路径的方式引用资源文件即可。–windows-console-modedisable表示禁用控制台窗口执行程序不会出现终端。–macos-create-app-bundlemacos专用–macos-app-iconmac上指定应用程序图标可以是png和ico文件需要pip install imageio。–windows-icon-from-icowindows上指定应用程序图标。