Python可以在多个平台上工作,可以用于桌面和web应用程序,因此我得出结论,有某种方法可以将它编译成Mac、Windows和Linux的可执行文件。
问题是我不知道从哪里开始或如何写一个GUI与它,谁能在这一点上提供一些光,并指出我在正确的方向请?
Python可以在多个平台上工作,可以用于桌面和web应用程序,因此我得出结论,有某种方法可以将它编译成Mac、Windows和Linux的可执行文件。
问题是我不知道从哪里开始或如何写一个GUI与它,谁能在这一点上提供一些光,并指出我在正确的方向请?
当前回答
由于python现在默认安装在几乎所有非windows操作系统上,你真正需要确保的唯一一件事就是你使用的所有非标准库都已安装。
话虽如此,构建包含python解释器和您使用的任何库的可执行文件是可能的。然而,这可能会创建一个大型可执行文件。
MacOS X甚至在Xcode IDE中支持创建完全独立的GUI应用程序。任何运行OS X的用户都可以运行这些程序。
其他回答
我不确定这是否是最好的方法,但当我在Windows上部署Ruby GUI应用程序(不是Python,但就.exe而言有相同的“问题”)时,我只是用c#编写了一个简短的启动程序,调用我的主脚本。它编译成一个可执行文件,然后我就有了一个可执行的应用程序。
另一个系统(在接受的答案中还没有提到)是PyInstaller,它适用于我的一个PyQt项目,而py2exe不能。我发现它更容易使用。
http://www.pyinstaller.org/
Pyinstaller基于Gordon McMillan的Python Installer。现在已经没有了。
py2exe的另一个替代工具是bbfreeze,它可以为windows和linux生成可执行文件。它比py2exe更新,可以很好地处理鸡蛋。我发现,对于各种各样的应用程序,不需要配置它就能神奇地更好地工作。
PySimpleGUI包装了tkinter,适用于Python 3和2.7。它还可以在Qt、WxPython和web浏览器上运行,在所有平台上使用相同的源代码。
您可以使用在tkinter中找到的所有相同的小部件(滑块、复选框、单选按钮……)来创建自定义gui。代码往往非常紧凑且可读。
#!/usr/bin/env python
import sys
if sys.version_info[0] >= 3:
import PySimpleGUI as sg
else:
import PySimpleGUI27 as sg
layout = [[ sg.Text('My Window') ],
[ sg.Button('OK')]]
window = sg.Window('My window').Layout(layout)
button, value = window.Read()
正如PySimpleGUI文档中所解释的,要构建运行的.EXE文件:
pyinstaller -wF MyGUIProgram.py
你不需要为Mac/Windows/Linux编译python。它是一种解释语言,因此您只需要在您选择的系统上安装Python解释器(它适用于所有三个平台)。
至于跨平台的GUI库,Python的Tk/Tcl小部件库工作得很好,我相信它足够跨平台。
Tkinter是Tk/Tcl的python接口
来自python项目网页:
Tkinter并不是唯一的GuiProgramming Python工具包。然而 最常用的一种,几乎是 只有一个是可移植的 Unix, Mac和Windows