Python可以在多个平台上工作,可以用于桌面和web应用程序,因此我得出结论,有某种方法可以将它编译成Mac、Windows和Linux的可执行文件。
问题是我不知道从哪里开始或如何写一个GUI与它,谁能在这一点上提供一些光,并指出我在正确的方向请?
Python可以在多个平台上工作,可以用于桌面和web应用程序,因此我得出结论,有某种方法可以将它编译成Mac、Windows和Linux的可执行文件。
问题是我不知道从哪里开始或如何写一个GUI与它,谁能在这一点上提供一些光,并指出我在正确的方向请?
当前回答
我不确定这是否是最好的方法,但当我在Windows上部署Ruby GUI应用程序(不是Python,但就.exe而言有相同的“问题”)时,我只是用c#编写了一个简短的启动程序,调用我的主脚本。它编译成一个可执行文件,然后我就有了一个可执行的应用程序。
其他回答
我不确定这是否是最好的方法,但当我在Windows上部署Ruby GUI应用程序(不是Python,但就.exe而言有相同的“问题”)时,我只是用c#编写了一个简短的启动程序,调用我的主脚本。它编译成一个可执行文件,然后我就有了一个可执行的应用程序。
您可以使用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命令行进行安装。
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
py2exe的另一个替代工具是bbfreeze,它可以为windows和linux生成可执行文件。它比py2exe更新,可以很好地处理鸡蛋。我发现,对于各种各样的应用程序,不需要配置它就能神奇地更好地工作。
首先,你需要一些带有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