Python Pyinstaller如何使用--onefile选项将数据嵌入exe文件?

Python Pyinstaller如何使用--onefile选项将数据嵌入exe文件?,python,exe,pyinstaller,Python,Exe,Pyinstaller,当您使用Pyinstaller的-onefile选项构建exe文件时,您可以指定picture或其他数据 在运行时,将创建一个tmp目录,其中包含python解释器、原始格式的数据 Pyinstaller如何嵌入所有这些数据 .exe文件只是机器代码指令,对吗?它们不应该是容器文件 谢谢 好吧,我发现了这个: 压缩数据可以与解压缩代码一起转换为单个可执行文件 因此,Pyinstaller可能包含一个运行时打包程序来完成这项工作。您阅读过Pyinstaller手册吗 单文件程序如何工作引导加载程序

当您使用Pyinstaller的-onefile选项构建exe文件时,您可以指定picture或其他数据

在运行时,将创建一个tmp目录,其中包含python解释器、原始格式的数据

Pyinstaller如何嵌入所有这些数据

.exe文件只是机器代码指令,对吗?它们不应该是容器文件

谢谢

好吧,我发现了这个:

压缩数据可以与解压缩代码一起转换为单个可执行文件


因此,Pyinstaller可能包含一个运行时打包程序来完成这项工作。

您阅读过Pyinstaller手册吗

单文件程序如何工作引导加载程序是 还有一个文件包。启动时,它会在中创建一个临时文件夹 此操作系统的适当临时文件夹位置。文件夹名为 _MEIxxxxxx,其中xxxxxx是一个随机数

一个可执行文件包含所有Python文件的嵌入式存档 脚本使用的模块,以及任何 非Python支持文件,例如.so文件。引导加载程序解压 支持文件并将副本写入临时文件夹。 这可能需要一点时间。这就是为什么单文件应用程序有点 启动速度比一个文件夹应用程序慢

创建临时文件夹后,引导加载程序将准确地进行 对于一个文件夹包,在临时文件夹的上下文中。 当绑定的代码终止时,引导加载程序将删除临时代码 文件夹

在Linux和相关系统中,可以装载/tmp文件夹 没有执行选项。该选项与 PyInstaller一个文件包。它需要执行/tmp之外的代码

由于程序使用唯一的名称创建临时文件夹,因此 可以运行应用程序的多个副本;他们不会互相干涉 另外但是,运行多个拷贝在磁盘空间上非常昂贵 因为没有什么是共享的

如果程序崩溃或丢失,则不会删除_MEIxxxxxx文件夹 在Unix上杀死kill-9,在Windows上被任务管理器杀死,强制 在Mac OS上退出。因此,如果您的应用程序经常崩溃,您的用户将 将磁盘空间丢失到多个临时文件夹中