Pyinstaller在两台不同笔记本上生成的可执行文件大小不同

0 投票
1 回答
28 浏览
提问于 2025-04-14 16:37

我有一个Python项目,用pyinstaller把它转换成了一个可执行文件。

在另一台笔记本电脑上也生成了同样的可执行文件,但文件大小却不一样。

这两台Windows笔记本上的Python版本是一样的,安装的Python插件列表也相同。

通过比较pyinstaller生成的文件Analysis-00.toc,发现里面列出的Python动态链接库(dll)是一样的,比如\Python311\DLLS_queue.pyd。

在Analysis-00.toc中,api-ms-win-crt-xxx.dll文件的版本是一样的,但它们来自不同的目录。所有的版本都是api-ms-win-crt-xxx-11-1-0.dll。一组来自Java JDK,另一组来自Java JRE。

除了api-ms-win-crt的目录不同之外,我找不到其他能解释这两台Windows笔记本可执行文件大小差异的地方。

我还应该去哪里寻找可能导致可执行文件大小不同的差异呢?

1 个回答

0

发现的问题是,两个笔记本电脑上的PATH环境变量不一样。

在PyInstaller的构建批处理文件中添加了一个固定的PATH设置后,生成的EXE文件大小就一样了。

现在这两个构建的EXE文件在Windows上比较起来几乎是完全相同的。

撰写回答