【Python基础】代码如何打包成exe可执行文件

本文收录于 《一起学Python趣味编程》专栏,从零基础开始,分享一些Python编程知识,欢迎关注,谢谢!

文章目录

    • 一、前言
    • 二、安装PyInstaller
    • 三、使用PyInstaller打包
    • 四、验证打包是否成功
    • 五、总结

一、前言

本文介绍如何使用PyInstaller工具把Python代码打包成exe可执行文件。

这样的话,我们可以把开发完成的Python程序代码,通过exe可执行文件的方式,分享给其他人。

(PS:如果对方是windows系统,则需要在windows环境下打包;如果对象是macOS系统,则需要在macOS环境下打包。否则,对方无法正常安装。)

  • 什么是Python?

    Python是由荷兰人吉多·范罗苏姆于1990年代初设计的一门编程语言,应用领域非常广泛,尤其在数据分析、人工智能领域,已经成为最受欢迎的程序设计语言之一,比较适合新手学习。

    这门编程语言之所以叫Python,意为大蟒蛇,是因为当时有一个电视喜剧《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus)在热播,很受大家喜欢。

    PS:Python语言标准库官方使用手册:https://docs.python.org/zh-cn/3/library/

  • 什么是PyInstaller?

    PyInstaller是一个在Windows、macOS等平台下将Python程序打包为独立可执行文件的工具,用于在未安装Python的平台上执行Python编写的应用程序。

    PyInstaller官网地址:https://pyinstaller.org/en/stable/
    在这里插入图片描述

二、安装PyInstaller

下面开始安装PyInstaller打包工具。

安装之前,确认一下当前项目对应的python解释器名称(或者开发环境名称)以及使用的python版本信息。

打开开发工具PyCharm,在界面的右上角打开settings中窗口。

之后,在Project 》Python Interpreter中,查看解释器名称和python版本信息。

(PS:建议使用python3.6.x版本,否则打包会报错。)

比如,这里Python解释器名称(或者开发环境名称)为“myblog”,python版本为3.6.13。
在这里插入图片描述

之后,在PyCharm界面左下角,打开终端命令行界面,使用命令conda activate + 环境名称,切换conda环境为“myblog”。(PS:默认为base开发环境)

# 切换开发环境
conda activate myblog

之后,使用命令pip install pyinstaller,开始安装PyInstaller打包工具。

# 安装PyInstaller打包工具
pip install pyinstaller

在这里插入图片描述

如果出现"Successfully installer"字样,则说明安装成功了。

另外,也可以使用查看pyinstaller版本信息命令,确认是否安装成功。

pyinstaller --version

在这里插入图片描述

至此,我们在myblog开发环境中,PyInstaller工具安装完成了。

三、使用PyInstaller打包

PyInstaller打包工具安装完成后,下面介绍如何使用PyInstaller进行打包。

这里以“猫和老鼠”游戏打包为示例,进行介绍。

如图所示,该游戏在myBlog项目工程中,对应的Python文件名称为tomJerry.py。
在这里插入图片描述

首先,打开Pycharm的终端命令行窗口。

之后,输入命令conda activate myblog,把开发环境从base切换到myblog。

conda activate myblog

之后,检查一下当前开发环境中,安装的python版本信息。(PS:建议使用python3.6.x版本,否则打包会报错。)

python --version

之后,运行打包命令。

pyinstaller -w -F tomJerry.py
  • pyinstaller命令参数说明:

-F 代表打包成一个单独exe文件,默认是打包成一个文件夹;

-w 代表打包程序运行后隐藏控制台窗口;

在这里插入图片描述在这里插入图片描述

如图,如果控制台输出"Building EXE …successfully"字样,则说明打包完成了。

四、验证打包是否成功

打包完成后,我们验证一下打包后的程序是否可以正常运行。
首先,我们会发现在项目的目录下面会出现一个dist目录,该目录下面会有一个打包后生成的tomJerry.exe文件。
在这里插入图片描述
之后,点击运行tomJerry.exe文件,出现错误提示。
在这里插入图片描述
从提示信息可知,程序找不到图片。所以,我们需要把图片拷贝到exe文件同级目录下面。
在这里插入图片描述
之后,我们再次点击运行tomJerry.exe文件,程序运行成功,出现猫和老鼠游侠界面。
在这里插入图片描述

五、总结

以上介绍了如何使用PyInstaller打包工具把Python代码打包成EXE可执行文件。希望对大家有帮助,谢谢关注。
(PS:本文示例代码,猫和老鼠游戏下载链接:https://blog.csdn.net/u012171005/article/details/140042952)

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux C语言基础 day8

目录 思维导图: 学习目标: 学习内容: 1. 字符数组 1.1 二维字符数组 1.1.1 格式 1.1.2 初始化 1.1.3 二维字符数组输入输出、求最值、排序 2. 函数 2.1 概念 关于函数的相关概念 2.2 函数的定义及调用 2.2.1 定义函数的格式 2.3…

数据采集:如何使用八爪鱼采集BOSS直聘职位数据

大家好,我是水哥! 今天给大家分享的是数据采集实战:使用「八爪鱼」第三方工具来采集 BOSS 直聘上的数据分析职位数据。 接下来,我们详细看一看。 不重复造轮子 在工作中,我们一定要形成一个认知,能用第…

最新浪子授权系统网站源码 全开源免授权版本

最新浪子授权系统网站源码 全开源免授权版本 此版本没有任何授权我已经去除授权,随意二开无任何加密。 更新日志 1.修复不能下载 2.修复不能更新 3.修复不能删除用户 4.修复不能删除授权 5.增加代理后台管理 6.重写授权读取文件 7.修复已经知道漏洞 源码下…

土壤分析仪:解密土壤之奥秘的科技先锋

在农业生产和生态保护的道路上,土壤的质量与状况一直是我们关注的焦点。土壤分析仪,作为现代科技在农业和环保领域的杰出代表,以其高效、精准的分析能力,为我们揭示了土壤的奥秘,为农业生产提供了科学指导,…

【PTA天梯赛】L1-006 连续因子(20分)

作者:指针不指南吗 专栏:算法刷题 🐾或许会很慢,但是不可以停下来🐾 文章目录 题目题解题意步骤 总结 题目 题目链接 题解 题意 求解n的最长连续因子 和因子再相乘的积无关,真给绕进去了 步骤 双重循…

阿里云操作系统智能助手OS Copilot实验测评报告

简介:作为一名学生,阿里云操作系统智能助手OS Copilot对学生的帮助主要体现在提高学习效率、简化操作流程和优化系统管理等方面。通过其丰富的功能,从系统信息的快速获取到复杂的系统运维管理,OS Copilot都能为学生提供极大的便利…

硅谷甄选二(登录)

一、登录路由静态组件 src\views\login\index.vue <template><div class"login_container"><!-- Layout 布局 --><el-row><el-col :span"12" :xs"0"></el-col><el-col :span"12" :xs"2…

kali安装vulhub遇到的问题及解决方法(docker及docker镜像源更换)

kali安装vulhub&#xff1a; 提示&#xff1a;项目地址 https://github.com/vulhub/vulhub 项目安装&#xff1a; git clone https://github.com/vulhub/vulhub.git 安装docker 提示&#xff1a;普通用户请使用sudo&#xff1a; 首先安装 https 协议、CA 证书 apt-get in…

针对tcp不出网打——HTTP封装隧道代理(以CFS演示)

目录 上传工具到攻击机 使用说明 生成后门文件 由于电脑短路无法拖动文件&#xff0c;我就wget发送到目标主机tunnel.php文件​ 成功上传​ 可以访问上传的文件 启动代理监听 成功带出 后台私信获取弹药库工具reGeorg 上传工具到攻击机 使用说明 生成后门文件 pyt…

和鲸科技荣耀入选2024 H1 「中国最具价值 AGI 创新机构 TOP 50」

以下文章来源于Founder Park&#xff0c;作者Founder Par 大模型的盛宴&#xff0c;不应该只属于那些无数光环加身的算法天才们。 模型的冰山一角下&#xff0c;是应用层的暗流涌动&#xff0c;这是一个更庞大&#xff0c;也更隐秘的蓝海。但发掘这一切的前提是&#xff0c;所…

【RHCE】NFS 实验

主服务器 下载nfs-utils软件包&#xff1a; 1.如果停⽌该服务&#xff0c;启动并启⽤该服务&#xff1a; systemctl enable - now rpcbind 2.要启动 NFS 服务器&#xff0c;并使其在引导时⾃动启动&#xff1a;systemctl enable - now nfs- server 3.配置防火墙&#xff0c;开…

pd虚拟机去虚拟化是什么意思?pd虚拟机去虚拟化教程 PD虚拟机优化设置

Parallels Desktop for Mac&#xff08;PD虚拟机&#xff09;去虚拟化是指在虚拟机&#xff08;Virtual Machine&#xff0c;简称 VM&#xff09;中禁用或减少虚拟化层的影响&#xff0c;使其表现更接近于物理机。这种操作通常用于提高虚拟机的性能或解决某些软件兼容性问题。具…

ASP.NET Core----基础学习04----Model模型的创建 服务的注入

文章目录 1. 创建Models文件夹&#xff0c;3个文件的内容如下&#xff1a;&#xff08;1&#xff09;模型的创建&#xff08;2&#xff09;服务的注入 1. 创建Models文件夹&#xff0c;3个文件的内容如下&#xff1a; &#xff08;1&#xff09;模型的创建 模型的基础类Student…

每日Attention学习9——Efficient Channel Attention

模块出处 [CVPR 20] [link] [code] ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks 模块名称 Efficient Channel Attention (ECA) 模块作用 通道注意力 模块结构 模块代码 import torch import torch.nn as nn import torch.nn.functional …

【雷达原理】数字波束形成(DBF)

目录 一、数字波束形成1.1 DBF原理1.2 工程应用实现方式1.2.1 预先存储权矢量1.2.2 利用DFT/FFT实现DBF 二、DBF应用2.1 通道间相干积累2.2 测量目标角度 三、MATLAB代码 一、数字波束形成 数字波束形成&#xff08;Digital Beam Forming&#xff0c;DBF) 技术&#xff0c;是针…

PDF 分割拆分 API 数据接口

PDF 分割拆分 API 数据接口 文件处理&#xff0c;PDF 高效的 PDF 分割工具&#xff0c;高效处理&#xff0c;可永久存储。 1. 产品功能 高效处理大文件&#xff1b;支持多语言字符识别&#xff1b;支持 formdata 格式 PDF 文件流传参&#xff1b;支持设置每个 PDF 文件的页数…

电脑压缩视频怎么压缩,电脑压缩视频大小

随着科技的进步&#xff0c;我们越来越喜欢用视频记录生活中的点点滴滴。但随之而来的问题就是&#xff0c;视频文件体积庞大&#xff0c;给我们的存储和分享带来了不小的困扰。那么&#xff0c;有没有什么方法能够轻松解决这个问题呢&#xff1f;答案当然是肯定的&#xff01;…

如何保证Redis缓存和数据库的数据一致性

前言 如果项目业务处于起步阶段&#xff0c;流量非常小&#xff0c;那无论是读请求还是写请求&#xff0c;直接操作数据库即可&#xff0c;这时架构模型是这样的&#xff1a; 但随着业务量的增长&#xff0c;项目业务请求量越来越大&#xff0c;这时如果每次都从数据库中读数据…

【Redis】简单了解Redis中常用的命令与数据结构

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、Redis的特点和适用场景三、Redis的数据类型和使用3.1字符串&#xff08;String&…

LabVIEW电容器充放电监测系统

概述 为了对车用超级电容器的特性进行研究&#xff0c;确保其在工作时稳定可靠并有效发挥性能优势&#xff0c;设计了一套车用超级电容器充放电监测系统。该系统通过利用传感器、USB数据采集卡、可调直流稳压电源、电子负载以及信号调理电路&#xff0c;完成对各信号的采集和超…