[Python程序打包: 使用PyInstaller制作单文件exe以及打包GUI程序详解]

文章目录

    • 概要
    • Python 程序打包—使用 Pyinstaller 打包 exe
    • Python程序打包—使用Pyinstaller打包GUI程序
    • Python程序打包—使用 Pyinstaller 设置 exe 图标
    • 小结

概要

使用PyInstaller工具将Python程序打包成可执行(EXE)文件。将Python程序打包成EXE的好处之一是,它使得你的应用程序更容易在没有Python解释器的系统上运行,同时还提供了更好的用户体验。

Python 程序打包—使用 Pyinstaller 打包 exe

安装好 Pyinstaller就可以愉快的打包了,这里只需要一条命令即可。

假如 Python 程序的主入口文件是xx.py,那么你的打包命令就是:

pyinstaller xx.py

执行成功后,将会生成两个文件夹:build 和 dist 。

示例代码

下边的代码使用到了PySimpleGUI库,需要先安装该库,安装命令

pip install pysimplegui
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@文件    :test.py
@说明    :使用Pysimplegui实现一个简单的窗口
@时间    :2023/10/13 09:44:46
@作者    :aliha
@版本    :1.0
'''

import PySimpleGUI as sg  


layout = [
    [sg.Text('请输入内容:')],  
    [sg.InputText()],  
    [sg.Submit('确认'), sg.Cancel('取消')]
] 

window = sg.Window('Demo示例', layout)  

event, values = window.read()   

text_input = values[0]  
sg.popup('你输入了:', text_input)

执行打包

运行打包命令

pyinstaller test.py

最后一行提示 … completed successfully就是成功了,别的不认识也没关系。

[Python程序打包: 使用PyInstaller制作单文件exe以及打包GUI程序详解]_第1张图片

打包结果解读
我们可以清楚的看到 test.py 的同级目录下多出来两个文件夹和一个文件:build,dist 和 test.spec。

• dist:这个是我们打包出来的程序文件;

• build:这个文件夹是程序打包时构建过程生成的,没什么用;

• test.spec:这个文件是打包的中间配置文件。

打包效果展示
点击 dist 文件夹内的 test.exe 就可以运行程序,具体效果如下⬇️:

点开记得关闭防护墙,不然会自动抹除生成文件。
[Python程序打包: 使用PyInstaller制作单文件exe以及打包GUI程序详解]_第2张图片

Python程序打包—使用Pyinstaller打包GUI程序

打包GUI程序

示例代码都是 GUI 程序 ,打包后运行时带一个黑框,体验太糟糕,做掉它。

假如你的 Python 程序的主入口文件是xx.py,那么你的打包命令就是:

Pyinstaller -w xx.py

注意:如果是和-F参数一起使用,应该是-Fw,而不是-F -w。

示例代码
本代码使用到了PySimpleGUI库,需要先安装该库,安装命令

pip install pysimplegui
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@文件    :test.py
@说明    :使用Pysimplegui实现一个简单的窗口
@时间    :2023/10/13 09:44:46
@作者    :aliha
@版本    :1.0
'''

import PySimpleGUI as sg  

layout = [
    [sg.Text('请输入内容:')],    
    [sg.InputText()],    
    [sg.Submit('确认'), sg.Cancel('取消')]
] 

window = sg.Window('Demo示例', layout)  

event, values = window.read()   

text_input = values[0]  
sg.popup('你输入了:', text_input)

执行打包
运行打包命令

pyinstaller -Fw test.py

打包效果展示
点击 test.exe 就可以运行程序,具体效果如下⬇️:

[Python程序打包: 使用PyInstaller制作单文件exe以及打包GUI程序详解]_第3张图片

可以看到,命令行窗口就隐藏掉了

Python程序打包—使用 Pyinstaller 设置 exe 图标

设置程序图标

假如你的 Python 程序的主入口文件是xx.py
图标文件完整路径是x:\xx\xx.ico那么你的打包命令就是:

pyinstaller -i x:\xx\xx.ico xx.py

在线图片转 ICO:[https://convertio.co/zh/png-ico/]

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@文件    :test.py
@说明    :使用Pysimplegui实现一个简单的窗口
@时间    :2023/10/13 09:44:46
@作者    :aliha
@版本    :1.0
'''

import PySimpleGUI as sg  


layout = [
    [sg.Text('请输入内容:')],  
    [sg.InputText()],  
    [sg.Submit('确认'), sg.Cancel('取消')]
] 

window = sg.Window('Demo示例', layout)  

event, values = window.read()   

text_input = values[0]  
sg.popup('你输入了:', text_input)

执行打包
运行打包命令:

pyinstaller -i icon.ico test.py

:这里icon.ico与test.py在同一个目录下,所以直接写文件名称即可。

在这里插入图片描述

小结

Python 程序打包—使用 PyInstaller 打包 EXE

安装 PyInstaller:

通过以下命令安装 PyInstaller:

pip install pyinstaller

进入项目目录:

在命令行中,进入 Python 项目所在的目录。

运行 PyInstaller:

使用以下命令将 Python 脚本转换为 EXE 文件
pyinstaller your_script.py

生成单文件 EXE:

若要生成单个 EXE 文件,使用 --onefile 选项:
pyinstaller --onefile your_script.py

自定义 EXE 文件名:

使用 --name 选项自定义生成的 EXE 文件名称:
  pyinstaller --onefile --name your_custom_name your_script.py

处理依赖关系:

PyInstaller 通常会自动处理脚本的依赖关系,但可以使用 --add-data 和 --add-binary 选项手动添加依赖项。

测试 EXE 文件:

在“dist”目录中找到生成的 EXE 文件,并确保它在没有 Python 解释器的环境中正常运行。

附加注意事项:

提供了解决一些常见问题的方法,如处理文件路径问题和 DLL 文件缺失。

你可能感兴趣的:(安装教程学习记录,python深度学习,工科生软件必备,python,数据库,linux,opencv,计算机视觉,开发语言,人工智能)