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

本文介绍了如何使用PyInstaller将Python脚本打包成可执行的.exe文件,包括安装PyInstaller、创建案例、设置图标以及打包过程。通过这个教程,读者可以学会将Python程序转化为可在没有Python环境的电脑上运行的exe程序。
摘要由CSDN通过智能技术生成

前言

我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的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.这里的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打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值