我刚刚用py2app制作了一个Python wxPython脚本的小应用程序。一切都像广告一样工作,但该应用程序的规模相当大。有没有什么办法可以优化py2app让应用程序变得更小?减肥py2app构建的Python wxPython OS X应用程序?
回答
这是一种解决方法。
这取决于您想要定位的操作系统。 Python和wxPython与每个Mac OS X安装捆绑在一起(至少以Leopard开头,如果我没记错的话)
你可能会尝试的是添加--alias
编译选项。按照py2app doc:
别名模式(-A或--alias选项)指示py2app构建使用源和数据文件就地应用程序包。
因此,该应用程序将尝试使用Mac OS X版本的wxPython。
小心
的别名选项称为发展模式。
如果您使用另一个未捆绑Mac OS X的库,将无法工作。
如果你想移植你的应用程序到Windows或Linux,它不会工作。
我已经有了一些成功的使用这种方法,但最终,回去压缩30/40MB文件。这到底是不是那大。
py2app或任何其他此类打包程序大都将所有依赖项和文件捆绑在一起,以便您可以轻松分发它们。大小通常很大,因为它将所有依赖关系,共享库,软件包和脚本文件捆绑在一起。在大多数情况下,很难缩小尺寸。
如何,您可以确保以下内容,以便在捆绑应用程序中有较小的残留。
- 不要使用--no-strip选项,这样可以确保除去调试符号。
- 使用 “--optimize 2或-O2” 优化选项
- 使用 “--strip(-S)” 选项,以从输出
- 使用剥离调试和本地符号 “--debug-跳过macholib” ,它不会使之真正独立,但会降低大小
- 我希望你从wxPython中删除不必要的文件,如演示,文档等
这是使我困惑的wxPython部分。 py2app包含整个'wx'包吗?我可以告诉它只采取特定的部分?我只使用一小部分包,这样可以尽可能节省大量空间...... – c00kiemonster 2010-10-21 00:31:36
@ c00kiemonster:因为这是对c文件的封装。我猜这些库将被全部加载和打包。我认为你不能剥夺这一点。 – pyfunc 2010-10-21 00:46:16
- 1. Paw os x应用程序构建肥皂呼叫
- 2. 使用wxPython和py2app发布可在多个版本的OS X上工作的Mac应用程序
- 3. 在Mac OS X上构建Qt应用程序x部署
- 4. 如何在wxPython应用程序中使用Mac OS X NSEvents?
- 5. 有没有办法用python开发OS X应用程序?
- 6. 构建os x应用程序的javascript框架
- 7. 如何使用XCode 4构建使用py2app的应用程序?
- 8. 在OS X上的virtualenv中的wxPython?
- 9. 将Ruby包装到独立的Mac OS X应用程序中?
- 10. 使用py2app打包wxpython应用程序更改GUI行为
- 11. 构建32位OS X应用程序时出错?
- 12. 如何在IntelliJ IDEA中构建OS X Java应用程序包?
- 13. 构建Mac OS X应用程序而不是控制台
- 14. Mac上的wxPython 2.9 Os X
- 15. Cocos2d-x OS X应用程序菜单
- 16. xcodebuild:构建Mac OS应用程序
- 17. 构建Python应用程序
- 18. py2app pyqt缺少一个库,应用程序无法在mac os上启动x
- 19. 的wxPython和OS的virtualenv X
- 20. Mac OS X应用程序/服务和标准输入?
- 21. 在Mac上构建Python py2app问题
- 22. 导入整个模块(如wxpython)在使用py2app构建时会影响应用程序的大小多少?
- 23. WxPython与OS X不兼容?
- 24. 如何从Mac OS X dock中隐藏应用程序图标
- 25. 构建OS X取
- 26. py2app下载wxpython(Snow Leopard)
- 27. 使用py2app制作的Python应用程序不起作用
- 28. 如何在使用Python的Mac OS X上的前台启动应用程序?
- 29. 安装的OS X应用程序
- 30. 无法构建适用于Mac OS X的应用程序,出现错误
是的,它是一个选项,而不是使用就地库。会试试看。 – c00kiemonster 2010-10-21 23:57:03