我正在討論通過用於OSX和Windows的.app和.exe格式部署Python製作的,基於GUI的桌面應用程序。就我進入Python而言,我只將它看作是在終端/命令提示符上運行的應用程序。我知道可以使用互聯網上的各種產品(wxPython?)爲其創建用戶界面。我只想看看它是如何消失的,作爲開發人員使用盡可能少的代碼差異來創建mac和windows應用程序的一種方式。Python如何成爲一種多平臺編程語言?
1
A
回答
0
0
對於Windows,最簡單的方法是py2exe。 MacOS還有一個類似的項目。它被稱爲py2app。大多數GUI框架都是跨平臺的。只需檢查他們的文檔,甚至主頁應該有它。
充分利用os
模塊。它有很多功能可以處理跨平臺的情況。一個常見的例子是文件路徑。當你建立一個路徑時,它應該是反斜槓還是正斜槓? os.path.join
爲你處理,並基於它運行在哪個操作系統上。從OS發貨到OS時,您不必修改代碼。它自然也應該在Linux上運行。
順便說一下,MacOS通常會預裝Python。只要它是最近的版本,這可以使HelloWorld腳本的差異爲1kb和30mb,因此避免將Python打包。不幸的是,Windows不太好裝備。考慮下載exe文件時選擇「我已經安裝了Python」。
1
我發現Python是一種非常好的GUI編程語言。正如你所說的,你可以使用wxWidgets(wxPython)的綁定,但是對於你可以想到的所有其他跨平臺GUI工具包(Tk,Qt,GTK,FLTK等)也有綁定。這些GUI工具包應該允許你創建一個在大多數操作系統上運行未修改的程序。
就Python操作系統兼容性而言,除了一個或兩個模塊(如mmap
)之外,它在所有操作系統上的行爲幾乎相同。
使用py2exe,py2app或類似工具,您可以在可執行文件中嵌入Python解釋器(以及程序的字節碼及其依賴關係),從而輕鬆分發應用程序。最終用戶可以隨時打開程序。如果你想要一種編譯語言的「安全性」,Python將不會是你使用的最好的語言(但我更喜歡可讀性而不是安全:)。
另一件需要考慮跨平臺性的事情是您計劃使用的操作系統特定功能。大多數GUI工具包不支持諸如Microsoft的DWM之類的東西(儘管您可以通過使用OS功能)。
相關問題
- 1. 針對多種編程語言/平臺
- 2. 如何爲多種語言生成類
- 3. 跨平臺編程語言2D/3D?
- 4. Roomba使用哪種平臺/語言?
- 5. 哪種語言更適合跨平臺?
- 6. 如何爲該語言的某種語言編寫編譯器?
- 7. 如何在Android中使用多種語言,如多種語言
- 8. gVim和多種編程語言
- 9. 將NetBeans用於多種編程語言
- 10. 多種語言的文字編程
- 11. 語言和平臺
- 12. 每種主要語言和平臺的使用率是多少?
- 13. bash是一種編程語言嗎?
- 14. 描述一種編程語言
- 15. AutoIt是一種編程語言?
- 16. Qt 4是一種編程語言嗎?
- 17. Photoshop - 有沒有一種編程語言?
- 18. 這是一種編程語言嗎?
- 19. 如何將文本從一種語言翻譯成另一種語言android?
- 20. 將一種語言翻譯成另一種語言?
- 21. 翻譯爲多種語言
- 22. 語言GAMMA,一種模仿編程語言
- 23. 如何用Python編程語言打印
- 24. 根據我的經驗,哪種編程語言最適合2D平臺遊戲?
- 25. 如何爲多個平臺編譯庫
- 26. 如何用同一種語言實現一種語言比語言更快?
- 27. 如何創建第一種編程語言?
- 28. 如何製作跨平臺的C++內聯彙編語言?
- 29. Kindle SDK語言/平臺
- 30. 如何將Bootstrap與Python編程語言和Django框架集成?
不是一個真正全面的答案,但我認爲如果您使用跨平臺的GUI框架(例如Qt),那麼您應該只需關注特定於操作系統的Python代碼。我的意思是像「subprocess」或「os」這樣的軟件包,根據平臺的不同,其行爲有時會有所不同。除此之外,我會說它應該是非常輕鬆的工具,如Py2App或Py2Exe。我還沒有測試過或做過,所以這只是一個鬆散的想法,我可能不會100%正確。 – kgr 2012-01-31 21:59:33