减少使用py2app构建的Python wxPython OS X应用程序?

时间:2010-10-20 15:40:29

标签: python optimization wxpython py2app

我刚刚用py2app制作了一个Python wxPython脚本的小应用程序。一切都像广告一样,但应用程序的规模相当大。有没有办法优化py2app以使应用程序更小?

2 个答案:

答案 0 :(得分:2)

这是一种解决方法。

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

您可能尝试的是添加--alias编译选项。根据{{​​3}}:

  

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

因此应用程序将尝试使用Mac OS X版本的wxPython。

<强> CAREFUL
别名选项称为开发模式

如果您使用未与Mac OS X捆绑在一起的其他库,将无效
如果要将应用程序移植到Windows或Linux,将无效

我已经成功使用了这种方法,但最终又回到了压缩30 / 40MB文件。这最终不是 大。

答案 1 :(得分:1)

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

但是,您可以确保以下内容,以便捆绑的应用程序中存在较少的错误。

  • 不要使用--no-strip选项,这将确保剥离调试符号。
  • 使用“--optimize 2或-O2”优化选项
  • 使用“--strip(-S)”选项从输出中删除调试和本地符号
  • 使用“--debug-skip-macholib”,它不会让它真正独立,但会缩小尺寸
  • 我希望您已经从wxPython中删除了不必要的文件,如demo,doc等。