在本攻略中,我们将介绍如何使用PyInstaller将Python代码打包成单个独立的exe可执行文件。我们将提供两个示例,演示如何使用PyInstaller打包一个简单的Python脚本和一个包含GUI界面的Python脚本。
步骤1:安装PyInstaller
在开始之前,我们需要安装PyInstaller。我们可以使用pip命令来安装PyInstaller:
pip install pyinstaller
步骤2:打包一个简单的Python脚本
我们可以按照以下步骤来使用PyInstaller打包一个简单的Python脚本:
- 创建一个名为hello.py的Python脚本,内容如下:
print('Hello, world!')
在上面的代码中,我们定义了一个简单的Python脚本,输出一条Hello, world!的消息。
- 使用PyInstaller打包Python脚本。
pyinstaller hello.py
在上面的代码中,我们使用PyInstaller命令打包hello.py脚本。PyInstaller会自动检测脚本中使用的依赖库,并将它们打包到可执行文件中。
- 运行可执行文件。
./dist/hello/hello
在上面的代码中,我们运行了打包后的可执行文件。程序会输出一条Hello, world!的消息。
步骤3:打包一个包含GUI界面的Python脚本
我们可以按照以下步骤来使用PyInstaller打包一个包含GUI界面的Python脚本:
- 创建一个名为gui.py的Python脚本,内容如下:
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.hi_there = tk.Button(self)
self.hi_there["text"] = "Hello World\n(click me)"
self.hi_there["command"] = self.say_hi
self.hi_there.pack(side="top")
self.quit = tk.Button(self, text="QUIT", fg="red",
command=self.master.destroy)
self.quit.pack(side="bottom")
def say_hi(self):
print("hi there, everyone!")
root = tk.Tk()
app = Application(master=root)
app.mainloop()
在上面的代码中,我们定义了一个包含GUI界面的Python脚本,使用tkinter库创建了一个简单的窗口,并在窗口中添加了一个按钮和一个退出按钮。
- 使用PyInstaller打包Python脚本。
pyinstaller gui.py
在上面的代码中,我们使用PyInstaller命令打包gui.py脚本。PyInstaller会自动检测脚本中使用的依赖库,并将它们打包到可执行文件中。
- 运行可执行文件。
./dist/gui/gui
在上面的代码中,我们运行了打包后的可执行文件。程序会打开一个窗口,包含一个按钮和一个退出按钮。点击按钮会在控制台输出一条hi there, everyone!的消息。
注意事项
在使用PyInstaller打包Python脚本时,需要注意以下事项:
- PyInstaller只能打包Python 2.7、3.4-3.8版本的脚本。
- PyInstaller可能无法正确识别某些依赖库,需要手动添加依赖库。
- 打包后的可执行文件可能会比原始脚本文件大很多,需要注意文件大小。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用PyInstaller把Python代码打包成单个独立的exe可执行文件 - Python技术站