导出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
首先首先安装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.pyC:\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))

浙公网安备 33010602011771号