使用pyinstaller生成exe可执行文件

pyinstaller可将python脚本打包成可执行文件exe,从而摆脱python环境。

1.下载pyinstaller 

   pip installer pyinstaller

2.进入到 pyinstaller的安装路径下,执行

   pyinstaller -F +脚本绝对路径

3.如果脚本中含有依赖文件或图片什么的,2的方法在exe转移后是不可执行的,因此需要将依赖文件一起打包才行。

   将步骤2换为

   3.1 pyi-makespec  +脚本绝对路径   (此时会在当前路径产生一个 脚本名.spec的文件)

   3.2 编辑 脚本名.spec文件  修改 a 下的 datas(默认的datas是[]   datas=[('C:\\Users\\Administrator\\Desktop\\a.png','')],其中,第一个地址是脚本所需的本地文件绝对路径,第二个地址是把文件存在生成的exe文件夹的什么文件夹下【请对应脚本里的地址,脚本引用的地址应该是 exe所在文件夹下的路径】 )

   3.3 pyinstaller 脚本名.spec

(3的方式视乎不太有效,exe文档单独转移,附加文件仍然读不了了。 解决办法:把图片读成 .py文件)

# -*- coding: UTF-8 -*-
import PIL.Image
import os, sys

def convert(path):

    PIL.Image.open(path).save("c:/Users/Administrator/Desktop/aa.png")
if __name__ == '__main__':
    x = 'C:/Users/Administrator/Desktop/a.png'
    convert(x)


使用方法

from aa_png import img as pic
import base64
import tkinter as tk
from tkinter import filedialog
tmp = open('pic.png', 'wb')
tmp.write(base64.b64decode(pic))
tmp.close()
import os
#现在'pic.png'就能用了,用完(加载到程序里之后)删了就好
os.remove('pic.png')

 

4.打包多个依赖的.py文件及对生成的exe压缩

下载upx

pyinstaller main.py -p **.py  --upx-dir upx解压路径

(注:依赖文件最好和主.py文件在同一文件夹下)

5.添加图标

   1.通过在线网站,将图片格式转化为.ico格式

   2.在步骤2中添加参数 -i + .ico路径即可

 

-------------------

可能遇到的问题,pugins没找到

通过终端提示的 check路径,这个路径一般是不存在的,然后自己建一个路径,找到两个文件 pyqt5.dll和pyqt5qmlplugin.dll,拷贝到该路径下即可。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章