使用py2app构建的精简Python wxPython OS X应用程序?
我刚刚用py2app制作了一个pythonwxpython脚本的小应用程序。一切都如广告所示,但应用程序的大小相当大。有没有办法优化py2app以使应用程序更小?py2app或任何其他类似的打包程序大多将所有依赖项和文件捆绑在一起,以便您可以轻松分发它们。大小通常很大,因为它将所有依赖项、共享库、包与脚本文件捆绑在一起。在大多数情况下,很难缩小尺寸 然而,您可以确保以下几点,以便在捆绑的应用程序中有更少的缺点使用py2app构建的精简Python wxPython OS X应用程序?,python,optimization,wxpython,py2app,Python,Optimization,Wxpython,Py2app,我刚刚用py2app制作了一个pythonwxpython脚本的小应用程序。一切都如广告所示,但应用程序的大小相当大。有没有办法优化py2app以使应用程序更小?py2app或任何其他类似的打包程序大多将所有依赖项和文件捆绑在一起,以便您可以轻松分发它们。大小通常很大,因为它将所有依赖项、共享库、包与脚本文件捆绑在一起。在大多数情况下,很难缩小尺寸 然而,您可以确保以下几点,以便在捆绑的应用程序中有更少的缺点 不要使用--no strip选项,这将确保删除调试符号 使用“-optimize 2
- 不要使用--no strip选项,这将确保删除调试符号
- 使用“-optimize 2”或-O2”优化选项
- 使用“-strip(-S)”选项从输出中剥离调试和本地符号
- 使用“-debug skip macholib”,它不会使它真正独立,但会减小大小
- 我希望你已经从wxPython中删除了不必要的文件,如demo、doc等
--alias
编译选项。根据报告:
别名模式(-A或--Alias选项)指示py2app构建使用源文件和数据文件的应用程序包
因此,该应用程序将尝试使用Mac OS X版本的wxPython
小心别名选项称为开发模式 如果您使用的是另一个未与Mac OS X捆绑的库,它将无法工作
如果要将应用程序移植到Windows或Linux,将无法运行
我已经成功地使用了这个方法,但最后还是回到了压缩一个30/40MB的文件。这最后并没有那么大。让我困惑的是wxPython部分。py2app是否包含整个
wx
包?我能告诉它只取特定的部分吗?我只使用了包的一小部分,这样可以节省大量空间…@c00kiemonster:因为这是c文件的包装器。我猜libs将全部加载并打包。我不认为你可以去掉它。是的,它是一个使用就地库的选项。我会试试看。