将Python程序打包成exe文件

一、什么是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官方认证二维码输入“领取资料” 即可领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/313731.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝凌EIS智慧协同平台 多处SQL注入漏洞复现

0x01 产品简介 蓝凌EIS智慧协同平台是一款专为企业提供高效协同办公和团队合作的产品。该平台集成了各种协同工具和功能,旨在提升企业内部沟通、协作和信息共享的效率。 0x02 漏洞概述 由于蓝凌EIS智慧协同平台 doc_fileedit_word.aspx、frm_form_list_main.aspx、frm_butt…

力士乐触摸屏维修触控屏VR2109.01-00-01-N2-NNN-A

Rexroth力士乐触控屏VCP20.1BUN.768PB-NN-PW数控系统屏幕维修及排查: 力士乐数控机床故障诊断的一般步骤都是相同的。当数控机床发生故障时,除非出现危险及数控机床或人身的紧急情况,一般不要关断电源,要尽可能地保持机床原来的状…

zotero云存储免费扩容到25G

zotero免费云存储只有300MB,若想扩容要么付费购买zotero的云空间,要么通过WebDAV方式使用云盘空间进行同步。很久以前好像尝试过坚果云盘,但是感觉有点辣鸡,网上的博客教程大部分都是用的坚果。 最后在淘宝上花了20找人远程了一下…

Google的Ndk-Sample学习笔记之一(hello-jniCallback)

前言: 近段时间因为项目的需求,需要使用JNI,所以下载了Google的Ndk-Sample学习下,准备记录 下来,留给后期自己查看 问题点一:JNI_OnLoad方法必须返回JNI的版本 JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {JNIEnv *env;memset(&g_ctx, 0, sizeof(g_…

竞赛保研 基于深度学的图像修复 图像补全

1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学的图像修复 图像补全 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-se…

C#编程-实现多线程

实现多线程 多线程帮助同时执行各种操作。这为用户节省时间。多线程程序包括一个主线程和其他用户定义的线程以同时执行多个任务。 微处理器为执行的进程分配内存。每个进程占有内存中它们自己的地址空间。但是,所有在进程中的线程占有相同的地址空间。多线程允许在一个程序…

美团2024届秋招笔试第一场编程真题(js版本)

1.小美的外卖订单 简单的加法逻辑,需要注意的是各个数据的边界问题 折扣价不能超过原价减的价格不能超过满的价格满减优惠仅限原价购入 const rl require("readline").createInterface({ input: process.stdin }); void (async function () {let count…

JavaScript保留字和预定义的全局变量及函数汇总

保留字也称关键字,每种语言中都有该语言本身规定的一些关键字,这些关键字都是该语言的语法实现基础,JavaScript中规定了一些标识符作为现行版本的关键字或者将来版本中可能会用到的关键字,所以当我们定义标识符时就不能使用这些关…

典型场景解析|PolarDB分布式版如何支撑SaaS多租户?

SaaS多租户背景 很多平台类应用或系统(如电商CRM平台、仓库订单平台等等),它们的服务模型是围绕用户维度(这里的用户维度可以是一个卖家或品牌,可以是一个仓库等)展开的。因此,这类型的平台业务…

文件上传漏洞(全网最详细)

目录 前言 文件上传漏洞介绍 文件上传漏洞危害 文件上传漏洞满足条件 文件检测流程 CTFSHOW 151关-170关 151关:前端验证绕过 152关:后端校验 Content-Type 校验文件格式 153关:filename字段文件后缀校验 154关:关键字过…

18_类加载

文章目录 类加载器类加载时机Java代码的3个阶段 反射关于Class配置文件(.properties)Properties类通过反射获取构造方法(Constructor)通过反射获取成员变量(Field)通过反射获取成员方法(Method) 其他API自定义类加载器反射的应用 类加载器 分类: Bootstrap ClassLo…

Visual Studio中项目添加链接文件

这个需求在VS里面使用还真不多见,只是最近在做项目的版本编号的时候遇到一个头大的问题,我一个解决方案下面有几十个类库,再发布的时候这几十个类库的版本号必须要统一,之前我们都是在单个的AssemblyInfo.cs里面去改相关的信息&am…

轻量级图床Imagewheel本地部署并结合内网穿透实现远程访问

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…

Echarts的常用API,以及常用的写法

ECharts是一款基于JavaScript的开源可视化库,用于构建交互式的图表和可视化数据。它提供了丰富的API用于定制图表和处理数据。下面是一些常用的ECharts API和写法的简介: 初始化图表容器: var myChart echarts.init(document.getElementBy…

win11更改桌面默认存储路径

打开文件资源管理器 右击桌面点击属性 在属性中找到位置选项卡,在里面有一个移动,点击它选择你想要的位置 选好位置后点击应用,随后会出现一个进度条,跑完后点击确认 到这里就完成了桌面默认位置的转移

在windows11系统上利用docker搭建linux记录

我的windows11系统上,之前已经安装好了window版本的docker,没有安装的小伙伴需要去安装一下。 下面直接记录安装linux的步骤: 一、创建linux容器 1、拉取镜像 docker pull ubuntu 2、查看镜像 docker images 3、创建容器 docker run --…

2024 年 1 月安全更新修补了 58 个漏洞(Android )

谷歌发布了针对 Android 平台 58 个漏洞的补丁,并修复了 Pixel 设备中的 3 个安全漏洞,拉开了 2024 年的序幕。 Android 2024 年 1 月更新的第一部分以 2024 年 1 月 1 日安全补丁级别发布在设备上,解决了框架和系统组件中的 10 个安全漏洞&…

高级分布式系统-第6讲 分布式系统的容错性--故障/错误/失效/异常

分布式系统容错性的概念 分布式系统的容错性: 当发生故障时, 分布式系统应当在进行恢复的同时继续以可接受的方式进行操作, 并且可以从部分失效中自动恢复, 且不会严重影响整体性能。 具体包括以下4个方面的内容: 可…

redis — redis cluster集群模式下如何实现批量可重入锁?

一、redis cluster 集群版 在Redis 3.0版本以后,Redis发布了Redis Cluster。该集群主要支持搞并发和海量数据处理等优势,当 Redis 在集群模式下运行时,它处理数据存储的方式与作为单个实例运行时不同。这是因为它应该准备好跨多个节点分发数据,从而实现水平可扩展性。具体能…

【科研技巧】如何判断某个期刊是什么类别及影响因子?是否是顶会?如何期刊内检索?AI写综述?AI做PPT?

相关链接 查找和免费下载文献的方式汇总国内外各大期刊关系、如何查看期刊等级以及查看某篇论文属于哪个期刊登录和访问EI(Engineering Village)数据库查找文献 1 如何判断某个期刊是什么类别及影响因子 https://sci.justscience.cn/ IFold是影响因子 期刊类别为SCIE、查看…