如何打包一个包括依赖项的Python Tkinter应用程序?
假设我们已经创建了一个tkinter应用程序,现在我们想将该独立应用程序打包成可移植和可执行的。我们可以使用不同的Python包支持各种功能,将整个应用程序代码打包成可执行的安装程序。这些包压缩代码,并将独立应用程序转换为可执行代码。
对于Windows用户,我们可以使用 py2exe ; 对于Linux,我们可以使用 Freeze ; 对于Mac,我们可以使用 py2app 。
示例
在这个示例中,我们创建了一个基于Windows的应用程序,可以在屏幕上打印“Hello World”。首先,我们将在与主应用程序文件存在相同的目录中创建一个 setup.py 文件,然后通过在 setup.py 中将文件名作为参数来扩展主应用程序文件的功能。
setup.py
from distutils.core import setup
import py2exe
setup(console=['main_app.py'])
现在,在命令行中使用 py2exe 包键入和运行 setup.py 。运行命令后,它会在相同的目录中创建一个名为“main_app.exe”的可执行文件的 dist 文件夹。
main_app.py
# 导入tkinter库
from tkinter import *
# 创建一个tkinter帧的实例
win = Tk()
# 设置几何形状
win.geometry("600x400")
def present():
Label(win, text = "Hello World", font=('Times New Roman bold', 30)).pack(pady=10)
Button(win, text = "Click Me", command = present).pack(pady=20)
win.mainloop()
输出
运行 main_app.exe 文件会打开以下窗口,其中包含一个按钮和一个标签。