1

我刚刚用 py2app 制作了一个 Python wxPython 脚本的小应用程序。一切都像宣传的那样工作,但该应用程序的大小相当大。有什么办法可以优化py2app,让app体积更小?

4

2 回答 2

2

这是一种解决方法。

这取决于您要定位的操作系统。Python 和 wxPython 与每个 Mac OS X 安装捆绑在一起(如果我没记错的话,至少从 Leopard 开始)

您可能会尝试添加--alias编译选项。根据py2app 文档

别名模式(-A 或 --alias 选项)指示 py2app 构建一个应用程序包,该包就地使用您的源文件和数据文件。

这样应用程序就会尝试使用 Mac OS X 版本的 wxPython。

CAREFUL别名选项称为开发模式

如果您使用未与 Mac OS X 捆绑的其他库,它将无法工作
如果你想将你的应用程序移植到 Windows 或 Linux 上,它是行不通的

我已经成功地使用了这种方法,但最后还是回到了压缩 30/40MB 的文件。这到底是不是那么大。

于 2010-10-21T08:38:16.657 回答
1

py2app 或任何其他此类打包程序主要将所有依赖项和文件捆绑在一起,以便您可以轻松分发它们。大小通常很大,因为它捆绑了所有依赖项、共享库、包以及脚本文件。在大多数情况下,很难减小尺寸。

但是,您可以确保以下内容,以便捆绑应用程序中的杂乱无章。

  • 不要使用 --no-strip 选项,这将确保调试符号被剥离。
  • 使用“--optimize 2 or -O2”优化选项
  • 使用“--strip (-S)”选项从输出中去除调试和本地符号
  • 使用“--debug-skip-macholib”,它不会使它真正独立,但会减小大小
  • 我希望您已经从 wxPython 中删除了不必要的文件,例如 demo、doc 等。
于 2010-10-20T17:38:29.023 回答