【2024Python教程】Python文件打包成exe,如果有图片怎么打包?有手就会的超简单教程

目录

pyinstaller模块打包exe(无图片或其他文件打包版)

第一步 安装pyinstaller模块:

第二步 找到需要打包的主程序文件夹

第三步 打包exe文件

第四步 确认exe文件是否可以打开

pyinstaller模块打包exe(有图片打包版--方法一)

 第一步 安装pyinstaller模块:

第二步 找到需要打包的主程序文件夹

第三步 打包exe文件

第四步 确认exe文件是否可以打开


pyinstaller模块打包exe(无图片或其他文件打包版)

第一步 安装pyinstaller模块:

在VScode中安装模块:pip install pyinstaller(可以用这个,也可以用下面这个)

 pip install -U pyinstaller

安装成功后,长这样:

第二步 找到需要打包的主程序文件夹

命令行cd到Python主程序文件所在的目录

cd 你的绝对文件路径
第三步 打包exe文件

直接进入cmd行,输入以下 命令!!

注意:这里已经进到了主文件夹,所以不是路径了,是你的文件名就行)

pyinstaller -F -w 你的文件名.py

安装成功后长这样:

第四步 确认exe文件是否可以打开

然后就可以去dist文件夹打开你的exe了!!!

打开后长这样


pyinstaller模块打包exe(有图片打包版--方法一)

第一步 安装pyinstaller模块:

在VScode中安装模块:pip install pyinstaller(可以用这个,也可以用下面这个)

 pip install -U pyinstaller

安装成功后,长这样:

第二步 找到需要打包的主程序文件夹

命令行cd到Python主程序文件所在的目录

cd 你的绝对文件路径
第三步 打包exe文件
  • 第一种方法:写个base64的程序,把图片转成.py文件用于引用()

使用base64编码方式对程序中所使用的图片进行编码操作

import base64
 
 
def pic2py(picture_names: list, py_name):
    write_data = []
    for picture_name in picture_names:
        filename = picture_name.replace('.', '_')
        with open("%s" % picture_name, 'rb') as r:
            b64str = base64.b64encode(r.read())
        # 注意这边 b64str 一定要加上.decode()
        write_data.append('%s = "%s"\n' % (filename, b64str.decode()))
 
    with open(f'{py_name}.py', 'w+') as w:
        for data in write_data:
            w.write(data)

            # 需要转码的图片:
            pics = ["./pic.png"]
            # 将pics里面的图片写到 image.py 中
            pic2py(pics, 'image')

程序会生成一个image.py的python脚本,里面包含了图片。

然后,在主程序中导入image.py脚本引用,将图片编码在转成图片即可,引用方式如下:

from image import *
 
# 引用示例,pic.png,注意 转码后名字是pic_png
self.root.iconbitmap(image.pic_png)

第二种方法:找个图片转base64的网站,把图片一张一张扔进去https://base64.guru/converter/encode/image 转成base64的码,直接赋值或者复制粘贴到源代码

在源代码中写入image的Base64码即可:

image_data = {
    "xx.png": "Base64码"
}

original_image_upload = tk.PhotoImage(data=image_data["xx.png"])

到此,知道了图片的引用方式,打包py文件就简单了,

直接进入cmd行,输入以下 命令!!

注意:这里已经进到了主文件夹,所以不是路径了,是你的文件名就行)

pyinstaller -F -w 你的文件名.py

安装成功后长这样:

第四步 确认exe文件是否可以打开

然后就可以去dist文件夹打开你的exe了!!!

打开后长这样


pyinstaller模块打包exe(有图片打包版--方法二)

 第一步 安装pyinstaller模块:

在VScode中安装模块:pip install pyinstaller(可以用这个,也可以用下面这个)

 pip install -U pyinstaller

安装成功后,长这样:

第二步 找到需要打包的主程序文件夹

命令行cd到Python主程序文件所在的目录

cd 你的绝对文件路径
第三步 打包exe文件

使用 pyi-makespec options name.py 创建新的python文件

pyi-makespec options 你的文件.py

具体可以参考这篇文章:python - Pyinstaller and --onefile: How to include an image in the exe file - Stack Overflow

根据文档的描述,有两个不同的命令可以创建规范文件(spec file):

  • pyinstaller options 你的名字.py

这个命令会自动创建一个规范文件,文件名通常是myscript.spec。PyInstaller在打包应用程序时会使用这个自动生成的规范文件。

  • pyi-makespec options name.py [other scripts ...]

这个命令是专门用于创建规范文件的,不会直接打包应用程序。通过这个命令,可以显式地创建并查看规范文件的内容。

总的来说:

  • 如果只想简单地将Python脚本打包为可执行文件,使用pyinstaller options.. myscript.py这个命令就可以了,它会自动处理规范文件。

  • 如果需要自定义规范文件,比如添加数据文件、运行时库等,那么可以先使用pyi-makespec命令创建规范文件,修改后再执行pyinstaller进行打包。

在options.spec文件里创建以下内容:

# -*- mode: python ; coding: utf-8 -*-


a = Analysis(
    ['options', '你的文件.py'],
    pathex=[],
    binaries=[],
    datas=[('你的数据路径', '数据名称')],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
    optimize=0,
)
pyz = PYZ(a.pure)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='options',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)
coll = COLLECT(
    exe,
    a.binaries,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='options',
)

在python源文件里加入:

最后直接进入cmd行,输入以下 命令!!

pyinstaller --onefile --windowed --add-data "picture1.jpeg:." --add-data "picture2.png:." your_file.py

注意:这里已经进到了主文件夹,所以不是路径了,是你的文件名就行)

安装成功后长这样:

第四步 确认exe文件是否可以打开

然后就可以去dist文件夹打开你的exe了!!!

打开后长这样


Pyinstaller的打包可选参数说明:

使用格式:pyinstaller -F -w -i x.ico xxx.py
pyinstaller的参数讲解:
第一个参数(必选):
-F:生成单个可执行文件
-D:生成多个可执行文件
第二个参数:
-c:文件执行时携带cmd黑窗口(默认)
-w:文件执行时不启用cmd黑窗口
第三个参数:
-p:自定义需要加载的类路径(基本不用)
第四个参数:
-i x.ico:为可执行文件添加图片,此处x用绝对路径
第五个参数(必选):
xxx.py:需要打包的py文件,xxx为主程序文件名
运行后会生成:
build:内含生成的项目文件
dist:内含生成的exe可执行文件
xxx.spec:打包过程日志
打包图片和音频的方法:
因使用pyinstaller打包exe时,不能打包图片和音频,解决方法:
采用base64动态生成图片和音频

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值