Python 程序打包成exe软件

一、安装 PyInstalle

Python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块。

安装过程和安装其他模块一致   : pip install pyinstaller

如图所示,看到最后一行的Successfully installed  表示安装成功。安装成功之后,在 Python 的安装目录下的 Scripts目录下会增加一个 pyinstaller.exe 程序,接下来就可以将 Python 程序打包成 EXE 程序了。

二、生成可执行程序

编写一个py程序

import  tkinter
win = tkinter.Tk()
def clickButton():
    message = ""
    if check1.get()==True:
        message+="001\n"
    if check2.get()== True:
        message+="002\n"
    text.delete(0.0,tkinter.END)
    text.insert(tkinter.INSERT,message)

#大小 位置
win.geometry("400x400+200+100")

check1 = tkinter.BooleanVar()
check2 = tkinter.BooleanVar()

checkbox1 = tkinter.Checkbutton(win,text="001",variable=check1,command=clickButton)
checkbox1.pack()
checkbox2 = tkinter.Checkbutton(win,text="002",variable=check2,command=clickButton)
checkbox2.pack()

text = tkinter.Text(win,width =50,height =4)
text.pack()

win.mainloop()

打开cmd窗口,进入此程序所在目录,输入 pyinstaller -F 文件名.py

在目录下会生成dist文件夹,里面会有个同名的exe文件,运行后如下

上面使用的是-F选项,该值指定生成单独的 EXE 文件。

下面先将 PyInstaller 工具在 app 目录下生成的 build、dist 目录删除,并将 同名的.spec 文件也删除,然后使用如下命令来生成 EXE 文件。

 pyinstaller -D 文件名.py

执行上面命令,当生成完成后,将会在 app 目录下看到多了一个 dist 目录,并在该目录下看到有一个 app 子目录,在该子目录下包含了大量 .dll 文件和 .pyz 文件,它们都是exe 程序的支撑文件。

上面2种命令生成的软件,打开时同时都会打开命令行界面,如果不想打开命令行窗口,可以使用下面的打包命令

pyinstaller -F -w 文件名.py

如果要修改软件的图标,可以在目录中添加ico格式的图片,大小128*128,打包命令如下

pyinstaller -F -w -i 001.ico 文件名.py

提供一个在线转换ico格式的地址:http://www.bitbug.net/

PyInstaller 支持的常用选项

-F,-onefile 产生单个的可执行文件
-D,--onedir 产生一个目录(包含多个文件)作为可执行程序
-a,--ascii 不包含 Unicode 字符集支持
-d,--debug 产生 debug 版本的可执行文件
-w,--windowed,--noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c,--nowindowed,--console 指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR,--out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
-p DIR,--path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
-n NAME,--name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字

猜你喜欢

转载自blog.csdn.net/zhuiyue82/article/details/97272208