2012-09-26 47 views
1

我最近開始使用Tkinter,現在我想嘗試wxPython,但我有一個主要問題:在Mac上,Python應用程序啓動並運行gui。我正在使用鴨嘴獸,所以窗口已經有一個應用程序「附加」自己。爲什麼它也需要Python.app?有沒有辦法解決這個問題?這種方法感覺就像在Mac上在X11內部運行Windows應用程序一樣。沒有「Python.app」的Python GUI應用程序?

回答

2

您使用的工具是錯誤的工具。 Platypus的重點在於它可以將非GUI腳本轉換爲GUI應用程序。 「app」和「window」對腳本是不可見的,它認爲它只是通過sys.argv接收內容並寫入stdout。

Platypus documentation明確表示Platypus「不打算用於創建具有複雜用戶交互的大量Mac OS X應用程序」。

wxPython文檔說遍佈你應該使用py2app(例如,http://wiki.wxpython.org/Optimizing%20for%20Mac%20OS%20X)在Mac上構建wx應用程序的地方。 (您可能會發現一些提及BundleBuilder的過期文檔,但忽略該文檔。)

如果您真的知道自己在做什麼,也許可以忽略兩個不同軟件包的文檔並強制它們一起做你想做的事,但除此之外,爲什麼要嘗試?

如果你想打包一個GUI應用程序,它知道它的GUI - 不管它是TkInter,wx還是別的東西 - 那麼這樣做的方法是py2app。如果沒有學習任何超出教程的內容,您可以將wxPython(或PyQt或TkInter或其他)腳本轉換爲可雙擊的Mac應用程序。您可以將其自定義爲幾乎任何您想要的程度(導出UTI,將圖標分配給文件類型,...)。而wxPython的文檔已經告訴你如何去做。

順便說一下,我懷疑這裏的一部分問題是您不知道OS X應用程序與Unix可執行文件之間的區別。但是如果你堅持使用跨平臺工具包(如wx)和py2app,那麼你可能會逃避這一切。