将Python程序打包成exe文件

发布时间:2024年01月12日
一、什么是exe可执行文件?
    **exe文件英文全名是executable file,翻译为可执行文件(但它不等于可执行文件),可执行文件包含两种,文件扩展名为.exe的是其中的一种。exe文件可以在Windows平台上直接双击运行!我们通常用的各种软件都是通过快捷方式打开的,而这个快捷方式的目标地址就是这个软件的一个exe文件。**
二、为什么要将Python程序打包为exe可执行文件?
    **众所周知,Python程序的运行必须要有Python的环境,但是程序编出来是用的,如果是给别人用,而他/她的电脑上又没有Python程序运行的环境怎么办呢?总不能让他/她去安装一个吧?这时我们就要将Python程序打包为exe可执行文件,这样,在Windows平台下,就可以直接运行该程序,不论有没有Python环境。**
三、为什么Python程序不能直接运行呢?
    **Python是解释性语言,它与C或者C++等语言不同,C或者C++都是要编译再运行的,(编译产生的文件就是exe文件),Python本质上只是对一段文本进行解释,类似于浏览器解析html文档,是不会产生任何exe程序的。**

【打包的完整方法】

【步骤01】

【在命令行中用pip工具安装Pyinstaller模块】

pip install Pyinstaller

【步骤02】

【切换命令行的路径到你要打包的Python源文件的文件夹路径下】

【下面是我要打包的Python源文件(散点坐标图.py)及其文件夹路径】

【切换命令行路径】(不是文件路径)

cd 文件夹路径

【步骤03】

【执行Pyinstaller模块的功能】

Pyinstaller -F -w 文件名.py

【等待打包】

【打包成功的标志】

【步骤04】

【到原文件夹找到dist文件夹并打开】

【文件夹里面就是我们要的exe可执行文件了!双击即可运行!】


但是这样打包的Python程序一般会很大,因为它会把一些不必要的东西也打包进去了,(通常可能会达到几百MB的大小😂)这里我们采用创建虚拟环境的方式进行压缩,也就是下面的升级版

【升级版步骤01】

【创建虚拟环境】

conda create -n 虚拟环境名称(自定义) python=版本

【在创建的过程需要回复yes】

【升级版步骤02】

【激活虚拟环境】(我之前就已经创建了一个名为program的虚拟环境)

conda activate 虚拟环境名称

【前面的(base)变成了(program)】

【这个虚拟环境就相当于一个虚拟的Python,它包含的模块没有那么完整(比较少),这样就不会打包不必要的模块】

【虚拟环境pip安装Pyinstaller模块,同上】

【注意:虚拟环境创建后,以后都可以用,不用再重新创建,Pyinstaller模块pip安装后也是】

【同样的操作,打包后的文件大小能缩小(在一般Python程序的打包中不是很明显,对于GUI界面化程序十分明显)】

【升级版步骤03】

【说明:这一步不是必要的】

【打包的程序我们是可以改它的图标的,它默认的图标是】

【更改方式(在创建时才能更改)】

Pyinstaller -F -w -i ico图标文件名 Python文件名

【 到底了哦,原创不易,点个赞呗!】

学习资源推荐

零基础Python学习资源介绍

👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)
在这里插入图片描述

👉Python必备开发工具👈
在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

👉100道Python练习题👈
检查学习结果。
在这里插入图片描述
👉面试刷题👈
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取。

文章来源:https://blog.csdn.net/2301_82000445/article/details/135558212
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。