天天看点

基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次

基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次

文章目录

  • 基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次
    • 一、前言
    • 二、环境
    • 三、环境配置
    • 四、图片处理
      • 1、将所有图片都转换成py文件
      • 2、导入py文件,将py解码下载,用完即删
    • 五、打包格式
    • 六、完结撒花

一、前言

遍历了csdn博客之后,发现貌似对,很多博客如何带图片打包成exe描述做到最后,我有些难受,我记录一下我最终完成的吧。

我默认,需要打包图片的兄弟,都下载了Anconda+Pycharm

二、环境

基于Anconda+Pycharm环境

pyinstaller以及本身需要的包

三、环境配置

如果还没下载Pycharm和Anconda可以参考这个博客:Anaconda3和pycharm的下载指南

下载pyinstaller库 :pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/

四、图片处理

1、将所有图片都转换成py文件

import base64
import os

'''
将图片文件,比如图标,背景转换成py文件便于打包
'''
def pic2py(picture_names, 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'./../Images/{py_name}.py', 'w+') as f:
        for data in write_data:
            f.write(data)
# 需要转码的图片:
os.chdir('./../Images')#路径转为图像所在路径

pics = ['Start.jpg','logo.ico','begin.jpg']#将你的图片都输入进去
# 将pics里面的图片写到 image.py 中
pic2py(pics, 'images')
print("转码完成...")
           

这时候,就会在当前目录输出一个images.py文件,图片就保存在这里

2、导入py文件,将py解码下载,用完即删

先导入库

在你每一个用到图片的地方按照如下模版修改

基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次

begin_jpg,就是在py文件中,begin.jpg转码时保存的值,解码它并写出即可

五、打包格式

基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次

搞成这样子,一个主入口和ico在外面,其余都弄在一个个文件夹里面

输入:

pyinstaller -F -w -i logo.ico main.py
           
  • 注:记得将位置转到当前目录在输入该指令,并且确保确实安装pyinstaller了,我是在虚拟环境中安装的,所以当时就在Anconda中输入
    基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次

六、完结撒花

打包如下,exe文件就保存在dist文件夹

基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次
基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次基于Pyinstaller库将Python项目包括 图片打包exe方法,本人已经实践多次

真的是步骤很短