Python可以在多个平台上工作,可以用于桌面和web应用程序,因此我得出结论,有某种方法可以将它编译成Mac、Windows和Linux的可执行文件。

问题是我不知道从哪里开始或如何写一个GUI与它,谁能在这一点上提供一些光,并指出我在正确的方向请?


当前回答

# I'd use tkinter for python 3

import tkinter

tk = tkinter.Tk()
tk.geometry("400x300+500+300")
l = Label(tk,text="")
l.pack()
e = Entry(tk)
e.pack()

def click():
    e['text'] = 'You clicked the button'

b = Button(tk,text="Click me",command=click)
b.pack()

tk.mainloop()

# After this I would you py2exe
# search for the use of this module on stakoverflow
# otherwise I could edit this to let you know how to do it

py2exe

Then you should use py2exe, for example, to bring in one folder all the files needed to run the app, even if the user has not python on his pc (I am talking of windows... for the apple os there is no need of an executable file, I think, as it come with python in it without any need of installing it.

创建这个文件

创建一个setup.py文件


下面的代码:

from distutils.core import setup
import py2exe

setup(console=['l4h.py'])

保存在一个文件夹中

将程序放在setup.py的同一个文件夹中 在这个文件夹中放入你想要使其可分发的程序: es: l4h.py

Ps:更改文件名(从l4h到任何你想要的,这是一个例子)

从该文件夹运行cmd(在文件夹上,右键单击+ shift并选择start cmd) 在cmd:>python setup.py py2exe中写入 dist文件夹中有你需要的所有文件 你可以把它压缩并分发

Pyinstaller

从cmd安装它

**

PIP安装pyinstaller

**

从文件所在的文件夹从cmd运行它

**

pyinstaller file.py

**

更新

阅读这篇文章,以正确的方式在windows上使用pyinstaller制作一个exe,其中包含一个文件和图像https://pythonprogramming.altervista.org/auto-py-to-exe-only-one-file-with-images-for-our-python-apps/

其他回答

首先,你需要一些带有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

你不需要为Mac/Windows/Linux编译python。它是一种解释语言,因此您只需要在您选择的系统上安装Python解释器(它适用于所有三个平台)。

至于跨平台的GUI库,Python的Tk/Tcl小部件库工作得很好,我相信它足够跨平台。

Tkinter是Tk/Tcl的python接口

来自python项目网页:

Tkinter并不是唯一的GuiProgramming Python工具包。然而 最常用的一种,几乎是 只有一个是可移植的 Unix, Mac和Windows

py2exe的另一个替代工具是bbfreeze,它可以为windows和linux生成可执行文件。它比py2exe更新,可以很好地处理鸡蛋。我发现,对于各种各样的应用程序,不需要配置它就能神奇地更好地工作。

由于python现在默认安装在几乎所有非windows操作系统上,你真正需要确保的唯一一件事就是你使用的所有非标准库都已安装。

话虽如此,构建包含python解释器和您使用的任何库的可执行文件是可能的。然而,这可能会创建一个大型可执行文件。

MacOS X甚至在Xcode IDE中支持创建完全独立的GUI应用程序。任何运行OS X的用户都可以运行这些程序。

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