pyinstaller打包exe脚本

1、PyInstaller简介

PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序。
PyInstaller 制作出来的执行文件并不是跨平台的,如果需要为不同平台打包,就要在相应平台上运行PyInstaller进行打包。

2、PyInstaller安装

在命令窗口输入下面命令安装

pip install Pyinstaller

3、使用PyInstaller打包

打包需要两个步骤,在命令行输入以下两个命令

#打包代码
pyinstaller -i tool_icon\WearfitOS_Toolbox.ico -F main.py -n lvgl_resouce_tool
#打包资源
pyinstaller   -F -w  lvgl_resouce_tool.spec

由于总是输入两次命令,并且每次都要输入感觉太麻烦,所以写了一个脚本

import os
#图标路径
icon_file_path = "tool_icon\WearfitOS_Toolbox.ico"
#主程序文件
main_file_path = "main.py"
#打包好后程序名
appliction_name= "lvgl_resouce_tool"
#要打包的资源路径
source_path = “tool_icon”

def updateFile(file,old_str,new_str):
    """
    将替换的字符串写到一个新的文件中,然后将原文件删除,新文件改为原来文件的名字
    :param file: 文件路径
    :param old_str: 需要替换的字符串
    :param new_str: 替换的字符串
    :return: None
    """
    with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
        for line in f1:
            if old_str in line:
                line = line.replace(old_str, new_str)
            f2.write(line)
    os.remove(file)
    os.rename("%s.bak" % file, file)


def Package_Exe_Handle():
    #-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧
    #-F [filename.py]  创建一个单文件的可执行程序
    #-n [name] 指定可执行文件名称。默认是第一个脚本的名称
	os.system(" pyinstaller -w -i %s -F %s -n %s"%(icon_file_path,main_file_path ,appliction_name))
	updateFile("./main.spec", "datas=[]", "datas=[\"%s\",\"%s\"]"%(source_path ,source_path ))
	os.system(" pyinstaller   -F -w  %s.spec"%appliction_name)

def main():
    Package_Exe_Handle()

if __name__ == "__main__":
    main()

注意:路径中不能有空格 不然会有问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值