【问题标题】:How to reduce cx_Freeze compiled Python executable size?如何减少 cx_Freeze 编译的 Python 可执行文件大小?
【发布时间】:2019-12-10 03:46:27
【问题描述】:

我用cx_Freeze 编译了一个Python 程序。 Python 代码本身只有 195 行长。但是,我编译的程序是 500 MB。我使用matplotlib、numpy 和pymsgbox,我不知道我的库是否会影响我编译的程序大小。

这种意外文件大小的原因是什么?有没有办法减少我的可执行文件的大小?

【问题讨论】:

  • 我注意到 Pyinstaller 在使用 pandas 和 numpy 时文件大小要小得多。我不知道为什么

标签: python exe cx-freeze


【解决方案1】:

cx_Freeze 的部分目的是捆绑所有依赖项,以便最终用户无需安装它们。 numpy、matplotlib 等都是不小的依赖项,尤其是因为它们有很大的二进制(非 Python)组件。所以你问的在物理上是不可能的,不是因为 cx_Freeze 的限制,而是因为以下两个要求之间的矛盾:

  • 最终用户应该能够在基本上任何 Windows 机器上运行可执行文件,包括可能没有 Python、numpy 和 matplotlib 的机器
  • 分布式二进制大小应该很小

您不能同时满足这两个要求。 cx_Freeze 适用于第一个,但不适用于第二个。如果您可以假设您的最终用户已经安装了 Python、numpy、matplotlib(或可以单独安装),并且希望分发您的程序以使二进制文件变小,那么使用轮子更合适。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2011-04-21
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多