2011-07-27 71 views
2

我正在測試不同的語言來開發一個桌面應用程序的Mac & Windows。75 MB Helloworld與py2app!

我以爲Python + Wx值得一試,所以我寫了一個簡單的hello world。

然後,我嘗試py2app將我的應用程序打包爲Mac應用程序。

發現我的hellworld.app重量高達75 MB真是令人驚訝! (然後我在運行時有錯誤,但這不是問題)

這裏是我的問題:有沒有一種方法來分發一個重量小於幾MB的獨立wxPython應用程序? (例如,一個地址簿應用程序)。

(一個Swing的HelloWorld大約是3KB,加上週圍20MB的JRE)

謝謝

+1

莫是兆字節(MB)?或者這是一些新的內存大小單位? –

+0

啊,是的,莫= MB,對不起。 (在法語中我們有Mo代表「méga-octet」,「octet」代表一個字節) – user777466

+0

@ user777466一個八位字節是**不是**一個字節(它*可以是一個字節)。根據牛津詞典,Octet的意思是「一組八個人或事物」,字節意思是「一組二進制數字或位作爲一個單位操作」。 – 2011-07-27 11:40:08

回答

3

我會強烈remmoend您使用PyINstaller,它可以在這裏找到:link

它的工作原理像迄今爲止的一個chamr,它支持大多數主要的圖書館: wxpython pyqt甚至django(儘管我沒有真正理解整個django支持的東西;-))

PyInstaller是一個在Python,Linux和Mac OS X下將Python程序轉換(打包)爲獨立可執行文件的程序。它與類似工具相比的主要優勢在於PyInstaller自2.2版起可與任何版本的Python一起工作,由於透明壓縮的可執行文件,它完全是多平臺的,並使用操作系統支持來加載動態庫,從而確保完全兼容。

PyInstaller的主要目標是與第三方軟件包直接兼容。這意味着,使用PyInstaller,所有使外部軟件包工作所需的技巧已經集成在PyInstaller本身中,因此不需要用戶干預。您永遠不需要在維基中尋找技巧,並將自定義修改應用於您的文件或安裝腳本。作爲一個例子,完全支持PyQt,Django或matplotlib等庫,而無需手動處理插件或外部數據文件。檢查SupportedPackages的兼容性列表。

我希望這可以幫助,祝你好運,並告訴你,如果再需要幫助

+0

加上你不必在二進制文件中綁定python! – cwoebker

+0

根據您的目標版本和平臺,這可能會也可能不會是一件好事。在OS X上,通常認爲最好的做法是在必要時交易一些(便宜的)磁盤空間,以確保在應用程序包中提供所需的安全性,以確保可預測且簡單的用戶體驗。如果您在多個版本中依賴OS X系統Pythons,那麼這可能很難(不是不可能)。 –

+0

這就是爲什麼我說,你不必,但你仍然可以:-) – cwoebker