我正在讨论通过用于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. 哪种语言更适合跨平台?
- 5. Roomba使用哪种平台/语言?
- 6. 如何为该语言的某种语言编写编译器?
- 7. 如何在Android中使用多种语言,如多种语言
- 8. 编程语言,用于开发多平台守护
- 9. 将NetBeans用于多种编程语言
- 10. 多种语言的文字编程
- 11. gVim和多种编程语言
- 12. 语言和平台
- 13. bash是一种编程语言吗?
- 14. AutoIt是一种编程语言?
- 15. Qt 4是一种编程语言吗?
- 16. 描述一种编程语言
- 17. Photoshop - 有没有一种编程语言?
- 18. 这是一种编程语言吗?
- 19. PHA是一种编程语言吗?
- 20. 如何将文本从一种语言翻译成另一种语言android?
- 21. 每种主要语言和平台的使用率是多少?
- 22. 编译多种语言在一起,并从一种语言到另
- 23. 哪个平台的C语言编码?
- 24. 将一种语言翻译成另一种语言?
- 25. 翻译为多种语言
- 26. 如何开发多语言/多平台库?
- 27. 如何用Python编程语言打印
- 28. 语言GAMMA,一种模仿编程语言
- 29. Wolfram语言是一种真正的编程语言吗?
- 30. 如何为多种语言编写htacess文件?
不是一个真正全面的答案,但我认为如果您使用跨平台的GUI框架(例如Qt),那么您应该只需关注特定于操作系统的Python代码。我的意思是像“subprocess”或“os”这样的软件包,根据平台的不同,其行为有时会有所不同。除此之外,我会说它应该是非常轻松的工具,如Py2App或Py2Exe。我还没有测试过或做过,所以这只是一个松散的想法,我可能不会100%正确。 – kgr 2012-01-31 21:59:33