• 【python 学习】如何将Python脚本打包成可执行的exe文件#520表白代码


    前言

    我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的xx.py文件发给他,他是不能直接用的,他还需要安装python解释器,甚至还要安装我们用的那些第三方包,是不是有点小麻烦?但是我们都知道,PC是可以直接运行exe文件的,这就为我们提供了一个便捷的方式。发源码又要求对方有对应的解释器,一般是行不通的,所以我们要把源码打包成可执行的.exe文件,方便广大用户使用。
    总结一句话:打成exe之后,分享即可用。

    安装pyinstaller

    PyInstaller是一个十分有用的第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。

    1.首先安装pyinstaller
    安装命令:pip install pyinstaller
    在这里插入图片描述
    2.保险起见,查看一下当前版本
    在这里插入图片描述

    安装成功后,就可以使用下面的命令了:

    pyinstaller : 打包可执行文件的主要命令,详细用法下面会介绍。
    pyi-archive_viewer : 查看可执行包里面的文件列表。
    pyi-bindepend : 查看可执行文件依赖的动态库(.so或.dll文件)
    pyi-… : 等等。

    案例素材

    安装好pyinstaller之后,我们当然要做个案例来测试一下~

    setup.py素材

    素材setup.py代码如下:

    import tkinter as tk
    import random
    import threading
    import time
    def dow():
        window = tk.Tk()
        width=window.winfo_screenwidth()
        height=window.winfo_screenheight()
        a=random.randrange(0,width)
        b=random.randrange(0,height)
        window.title('520快乐')
        window.geometry("200x50"+"+"+str(a)+"+"+str(b))
        tk.Label(window,
            text='520快乐!',    # 标签的文字
            bg='Red',     # 背景颜色
            font=('楷体', 17),     # 字体和字体大小
            width=15, height=2  # 标签长宽
            ).pack()    # 固定窗口位置
        window.mainloop()
     
    threads = []
    for i in range(100):#需要的弹框数量
        t = threading.Thread(target=dow)
        threads.append(t)
        time.sleep(0.1)
        threads[i].start()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26


    1.这里的setup.py默认的图标是我设置的pycharm属性
    2.你可以把上面的代码复制到记事本,重命名后缀.py
    在这里插入图片描述

    ico素材

    如果想要打包好的程序打包成自己想要的图标

    就先准备一张图片放在文件夹中吧!

    注意需要用.ico格式的图片才有效哦

    我常用的在线转换工具
    转换网站:https://convertio.co/zh/
    在这里插入图片描述
    转换演示
    在这里插入图片描述
    接着我们将代码所需要加载的文件资源【图片、.py、文档等】整合一下

    放置在一个或多个文件夹下
    在这里插入图片描述
    如果你是用pycharm开发的代码,是多个文件夹的
    在这里插入图片描述

    pyinstaller打包

    打开命令行窗口,将路径改为脚本所在文件夹: cd 文件夹路径
    在这里插入图片描述

    下图命令:pyinstaller -F -w -i heart.ico setup.py
    在这里插入图片描述
    命令模板解释:pyinstaller -F -w -i [图片名].ico [脚本名].py
    参数解释
    -i: 表示要加载的图标(没有选择图标可以不用写)

    heart.ico:表示自己选择的图标名(没有选择图标可以不用写)

    -F:表示打包成.exe可执行文件

    -c:表示打包程序有窗口

    setup.py:表示你要打包的py文件

    找到生成的dist文件夹,里面就能看见exe文件了!
    在这里插入图片描述
    我们应该新建一个文件,里面放入所有资源文件夹和exe文件

    测试无误后压缩发给别人,别人解压后就可以使用了!

    例子中我们将exe例子文件夹压缩发送就ok了
    在这里插入图片描述
    最后看看演示效果:

    请添加图片描述

    完整的项目下载:https://download.csdn.net/download/qq_43674360/85422561

    扩展了解

    PyInstaller原理简介

    1.PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的库。在Linux操作系统下,它主要用的binutil工具包里面的ldd和objdump命令。
    2.PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。
    可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了。
    3. 需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。

  • 相关阅读:
    javascript二叉树相关的知识
    【Python自然语言处理】使用SVM、随机森林法、梯度法等多种方法对病人罹患癌症预测实战(超详细 附源码)
    【业务知识】发票系统设计知识学习二
    docker进行RocketMq集群部署
    前端基础之《ECMAScript 6(9)—集合介绍与API》
    Amadis发布OLA支付处理标准
    自制了一个开发团队展示控制器来为成员引流【前端】
    基于XML的Web服务Java接口(JAX-WS)、Jakarta XML Web Services Eclipse 实现
    《对比Excel,轻松学习Python数据分析》读书笔记------结果导出
    [NSSRound#7 Team]ShadowFlag
  • 原文地址:https://blog.csdn.net/qq_43674360/article/details/124880909