导出exe的经验

安装pyinstaller

首先要找到scripts的绝对路径(主要是找到scripts就行了

先是安装
C:\Users\96290\AppData\Local\Programs\Python\Python38-32\Scripts\pip install pyinstaller
接着检查安装是否完
C:\Users\96290\AppData\Local\Programs\Python\Python38-32\Scripts\pyinstaller
最后进行打包exe
C:\Users\96290\AppData\Local\Programs\Python\Python38-32\Scripts\pyinstaller --console --onefile log\log.py
防止被杀毒
首先首先安装PIL库
C:\Users\96290\AppData\Local\Programs\Python\Python38-32\Scripts\pip install Pillow

生成标准ico图片代码

import os,sys
from PIL import Image
image_size = [512,256,144,140,128,120,108,100,88,72,48,32,28]
def create_icon():
     for size in image_size:
          pri_image = Image.open("timg.jpg")
          pri_image.resize((size,size),Image.ANTIALIAS ).save("icom_%d.ico"%(size))
if __name__ == "__main__":
     create_icon()

 

添加图标,防止报错

C:\Users\96290\AppData\Local\Programs\Python\Python38-32\Scripts\pyinstaller -i T3\icom_256.ico  -F  log\log.py
C:\Users\96290\AppData\Local\Programs\Python\Python38-32\Scripts\pyinstaller --noconsole T4\fengmian.ico  -F  T4\client1.py
C:\Users\96290\AppData\Local\Programs\Python\Python38-32\Scripts\pyinstaller  --noconsole -F T4\克莱比的通讯台.py -i T4\fengmian.ico
-F是打包成一个exe
-i是封装图标
-noconsole是不要控制台
 

 

关于py的图片打包后不显示的问题

使用以下程序
 import base64

def pic2py(picture_name):
    """
    将图像文件转换为py文件
    :param picture_name:
    :return:
    """
    open_pic = open("%s" % picture_name, 'rb')
    b64str = base64.b64encode(open_pic.read())
    open_pic.close()
    # 注意这边b64str一定要加上.decode()
    write_data = 'img = "%s"' % b64str.decode()
    f = open('%s.py' % picture_name.replace('.', '_'), 'w+')
    f.write(write_data)
    f.close()

if __name__ == '__main__':
    pics = ["backimage1.jpg", "jiemian1.jpg", "touxiang.jpg"]
    for i in pics:
        pic2py(i)
    print("ok")

 

"backimage1.jpg", "jiemian1.jpg", "touxiang.jpg"转换成相应的py文件,然后再在主py文件里面调用这些子py文件

主py文件里面的调用方式如下所视

from touxiang_jpg import img as touxiang
from backimage1_jpg import img as backimage1
from jiemian1_jpg import img as jiemian1
import time
import base64

picture1 = open('touxiang.jpg', 'wb')
picture1.write(base64.b64decode(touxiang))
picture2 = open('backimage1.jpg', 'wb')
picture2.write(base64.b64decode(backimage1))
picture3 = open('jiemian1.jpg', 'wb')
picture3.write(base64.b64decode(jiemian1))

 

 

posted @ 2020-10-31 22:13  克莱比-Kirby  阅读(170)  评论(0)    收藏  举报