Python可以在多个平台上工作,可以用于桌面和web应用程序,因此我得出结论,有某种方法可以将它编译成Mac、Windows和Linux的可执行文件。
问题是我不知道从哪里开始或如何写一个GUI与它,谁能在这一点上提供一些光,并指出我在正确的方向请?
Python可以在多个平台上工作,可以用于桌面和web应用程序,因此我得出结论,有某种方法可以将它编译成Mac、Windows和Linux的可执行文件。
问题是我不知道从哪里开始或如何写一个GUI与它,谁能在这一点上提供一些光,并指出我在正确的方向请?
当前回答
由于python现在默认安装在几乎所有非windows操作系统上,你真正需要确保的唯一一件事就是你使用的所有非标准库都已安装。
话虽如此,构建包含python解释器和您使用的任何库的可执行文件是可能的。然而,这可能会创建一个大型可执行文件。
MacOS X甚至在Xcode IDE中支持创建完全独立的GUI应用程序。任何运行OS X的用户都可以运行这些程序。
其他回答
首先,你需要一些带有Python绑定的GUI库,然后(如果你想要的话)一些将你的Python脚本转换为独立可执行文件的程序。
带有Python绑定的跨平台GUI库(Windows, Linux, Mac)
当然,有很多,但我在野外看到的最受欢迎的是:
Tkinter——基于Tk GUI工具包(实际上是python的标准GUI库,商业项目免费) WxPython——基于WxWidgets(流行,免费用于商业项目) Qt使用PyQt绑定或Qt for Python。前者对于商业项目来说不是免费的。后者不太成熟,但可以免费使用。
完整的列表在http://wiki.python.org/moin/GuiProgramming
单个可执行文件(所有平台)
PyInstaller -最活跃的(也可以用于PyQt) fbs -如果你选择Qt以上
单个可执行文件(Windows)
Py2exe -曾经是最流行的
单个可执行文件(Linux)
冻结-工作方式与py2exe相同,但目标是Linux平台
单个可执行文件(Mac)
py2app -同样,工作方式类似于py2exe,但目标是Mac OS
你可以做三件事:
首先要做的是找到一个GUI设计器,它可以将其代码作为独立的应用程序(如.exe文件)启动。我使用MatDeck的一个版本(对于使用GUI设计器的人,我推荐MD Python设计器),因为我相信(我使用另一个版本,所以我不太确定。)它允许我将代码转换为独立的应用程序,这样,就不需要在每台PC上安装软件来运行程序。
The second option is partially bypassing the problem, launch the GUI as a web page. This would give you the most compatibility as most if not all OS can utilize it. Once again, you would need a GUI Designer that can convert its components into a web compatible format, I've done it once and I used the same version of MatDeck(Visionary Deck), I would not recommend MD Python Designer this time as I don't know if it can turn its GUIs into websites using web assembly whereas Visionary Deck I've tried and tested. As with all things there are most likely other software this is just one I use frequently because I work a lot with Mathematics and Physics.
第三种选择也可以绕过这个问题,但在Tkinter中进行,并确保您有一个Python IDE或只是普通的Python并运行代码,这将启动GUI。这是一个很好的解,可能是最简单的,但我不会把它归类为最短或最好的。如果你只打算在几个操作系统和电脑之间切换,这可能是你最好的选择。
另一个系统(在接受的答案中还没有提到)是PyInstaller,它适用于我的一个PyQt项目,而py2exe不能。我发现它更容易使用。
http://www.pyinstaller.org/
Pyinstaller基于Gordon McMillan的Python Installer。现在已经没有了。
! ! !KIVY ! ! !
我很惊讶没有人提到Kivy!!
我曾经用Tkinter做过一个项目,虽然他们确实提倡它已经改进了很多,但它仍然给我一种windows 98的感觉,所以我换了Kivy。
我一直在遵循一个教程系列,如果它有帮助……
为了让大家了解kivy的样子,看看这个(我正在做的项目):
我才花了一个星期的时间! 你问Kivy的好处是什么?检查这个
我选择它的原因是,它的外观和它也可以用于移动设备。
您可以使用appJar进行基本的GUI开发。
from appJar import gui
num=1
def myfcn(btnName):
global num
num +=1
win.setLabel("mylabel", num)
win = gui('Test')
win.addButtons(["Set"], [myfcn])
win.addLabel("mylabel", "Press the Button")
win.go()
请参阅appJar站点上的文档。
使用pip install appjar命令行进行安装。