如何使用 python 代码创建 Linux 可执行文件

How to create a Linux executable file using python code

举个例子,我使用 Tkinter 创建了 welcomeGUI.py 文件,它有一个简单的 GUI,如下所示。

from Tkinter import *
import ttk

class Application():

    def __init__(self, master):
        frame = Create_widgets(master)
        frame.pack()

class Create_widgets(Frame):

    def __init__(self, master):
        Frame.__init__(self, master)

        self.toplabel = Label(master, text="Welcome!", font=('cambria', 20, 'bold'),
                         fg="white", bg="Midnight Blue")
        self.toplabel.pack(fill=X, ipady=100)

        statuslabel = Label(master, bg="Midnight Blue")
        statuslabel.pack(fill=X)
        self.midlabel = Label(master, text="Device ready,connect a flash drive to continue...",
                         font=('Ubuntu-L', 12), fg= "white", bg="Midnight Blue", anchor="n")
        self.midlabel.pack(fill=X, ipady=5)

        bottomlabel = Label(master, bg="Gainsboro")
        bottomlabel.pack(side=BOTTOM, fill=X)

        button1 = ttk.Button(bottomlabel, text="Close")
        button1.pack(side=BOTTOM)

#**** Main ****

root = Tk()
root.title("Projector Plus")
root.configure(bg="Midnight Blue")
root.minsize(550, 550)

pro = Application(root)

root.mainloop()

然后我需要创建这个可以安装在Ubuntu上的文件(要在Ubuntu上创建一个可执行文件)。在 Windows 中,这可以通过 .exe 文件轻松完成(使用 cx-Freeze)。我真的不知道 Ubuntu 和 shell 文件的文件系统。

请帮助我了解一下这个问题。我不知道如何进入这个问题。

基本上,要使文件在 Unix 系统中可执行,您只需要做一件事:允许它执行(非常令人惊讶;))。为此,您必须使用 chmod 命令,如下所示:chmod +x youfile.py+x添加执行权

现在,您的系统将允许您执行脚本,但目前它只是一个简单的文本文件...Ubuntu 不知道他必须使用 python 命令来运行 它,所以你会破坏行为举止。为了解决这个问题,我们使用 sha-bang 行(有关更多信息,请参阅 wikipedia page):在脚本的第一行,您必须写 #! program_to_use,在您的情况下是 python.通常,我们利用 env 变量,并使用 #! /usr/bin/env python,但您也可以自己选择您想要的 python 版本,执行 #! /usr/bin/pythonX.X 其中 X.X 是 python.

的版本

1 - 在您的文件顶部添加这一行: #!/bin/env python(这可能因您的 ENV 变量而异)

2 - 通过以下方式使您的文件可执行:

a - 在 Unix 系统中,运行 以下命令:

      `chmod +x myfile.py`

b - 在 Windows 系统中,您可以使用实用程序 py2exe http://www.py2exe.org/

有关此内容的更多信息,请访问:

https://docs.python.org/2/faq/windows.html#how-do-i-make-an-executable-from-a-python-script