我剛剛用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