Python打包成.exe文件直接运行

news/2024/10/17 21:22:38/

文章目录

  • 前言
  • pyinstaller
  • .exe文件
  • 具体步骤
    • 第一步:安装pyinstaller
    • 第二步:进入要打包文件的目录
    • 第三步:执行文件
    • 第四步:发给好友
  • 拓展
  • 尾声

前言

很多小伙伴在阅读了博主的文章后都积极与博主交流,在这里博主很感谢大家的喜欢。博主最近收到了一个小伙伴的问题,就是那么多有趣的代码,怎么发给别人,让没有python环境的小伙伴也可以使用呢。本期博主将带着大家探索如何将自己的代码打包成.exe可执行文件,一起来看看吧!

pyinstaller

PyInstaller是一种用于Python脚本的自包含的可执行文件打包工具,它可以将Python代码打包成一个可执行文件,使得该文件可以在没有安装Python解释器的情况下在其他计算机上运行。PyInstaller支持多种操作系统和Python版本,可以帮助Python开发者更加方便地分发和部署他们的应用程序。

PyInstaller的工作原理是将Python脚本解析成可执行文件。它将Python脚本和所有的依赖库、资源文件打包成一个可执行文件,并且会自动解析依赖关系,使程序在其他计算机上可以独立运行。打包后的可执行文件包含一个解释器和所有的依赖库、资源文件,不需要安装任何其他程序。

PyInstaller的使用非常简单,只需要安装PyInstaller,然后使用命令行工具打包即可。打包命令非常简单,只需要指定Python脚本的路径,PyInstaller会自动解析依赖关系,并生成一个可执行文件。PyInstaller支持多种参数,可以对打包后的可执行文件进行一些定制化的设置。例如,可以设置图标、版本号等信息,也可以排除某些依赖库或文件。

PyInstaller不仅可以将Python脚本打包成可执行文件,还可以将Python程序打包成DLL和SO文件,使得Python程序可以被其他编程语言以动态链接库的方式调用。这也使得Python成为了一种非常灵活和强大的编程语言,可以和其他编程语言混合使用。

虽然PyInstaller对Python的打包和部署提供了很大的便利,但是在打包过程中也需要注意一些问题。例如,打包后的可执行文件会比原脚本文件大很多,可能会占用更多的磁盘空间。此外,由于打包后的文件需要包含所有依赖库和资源文件,因此打包时间可能会比较长。在使用PyInstaller时,需要仔细阅读文档,并且多做测试,以确保生成的可执行文件可以在目标计算机上正常运行。

总之,PyInstaller是一个非常好用的Python打包工具,它可以将Python脚本和依赖库、资源文件打包成一个可执行文件,使得该文件可以在其他计算机上独立运行。PyInstaller支持多种操作系统和Python版本,使用简单方便。虽然在使用时需要注意一些问题,但是PyInstaller的便利性使得它成为了Python开发中不可或缺的一部分。

.exe文件

.exe文件是Windows操作系统中的一种可执行文件格式,它是由Windows编译器编译出来的二进制文件,用于执行程序代码。.exe文件通常包含了程序的所有必要资源和库文件,因此可以独立地在计算机上运行,不需要依赖其他软件或环境。它是一种非常流行的文件格式,因为它可以方便地将程序分发给用户,用户只需要双击该文件即可启动程序。

.exe文件通常是由开发人员使用编译器将源代码编译成机器语言生成的。编译器将源代码翻译成适用于目标计算机的指令集,生成可执行文件。.exe文件包含了程序的所有代码、资源和数据,它是一种可靠的二进制文件,可以在Windows操作系统上运行。

.exe文件可以储存在计算机上的任何位置,并且可以通过双击文件启动程序。它也可以通过命令行来启动。.exe文件可以启动GUI界面,也可以只是在控制台上输出某些信息。.exe文件还可以接受命令行参数,这些参数可以被程序用来影响其运行。

.exe文件的安全性问题也备受关注。恶意软件开发者会将病毒、木马等恶意代码嵌入.exe文件中,以达到控制用户计算机的目的。因此,在使用.exe文件时,要注意文件来源的可信度,并且使用杀毒软件检查文件是否存在病毒,以保证计算机的安全性。

总之,.exe文件是Windows操作系统中的一种可执行文件格式,用于执行程序代码。它包含了程序的所有必要资源和库文件,可以独立地在计算机上运行。.exe文件可以通过双击文件启动程序,也可以通过命令行来启动。在使用.exe文件时,要注意文件来源的可信度,并且使用杀毒软件检查文件是否存在病毒,以保证计算机的安全性。

具体步骤

第一步:安装pyinstaller

首先同时按住键盘上的"win+r"键,输入"cmd"进入终端

1

在终端输入

pip install pyinstaller

下载安装pyinstaller工具

安装成功后在终端输入"pyinstaller"检查是否安装成功

2

如上图即安装成功

第二步:进入要打包文件的目录

在这里我就以满屏表白代码为例子给大家演示一下

将代码输入pycharm(conda等python环境都可以)

3

查看该文件的路径

4

在终端进入该路径

5

输入如下命令,等待打包即可

pyinstaller -F main.py

注意这里的main.py文件是你要打包的文件名,对我来说是如下这个文件

6

出现如下的信息说明打包成功

7

第三步:执行文件

最后我们进入刚才的文件夹,我们会发现刚才的目录下多出了三个文件(文件夹)

8

我们进入"dist"文件夹,里面有一个"main"文件夹

9

双击进入"main"文件夹

10

里面有一个main.exe可执行文件,双击运行即可!

第四步:发给好友

只需要将刚才的三个文件放入同一个文件夹下,然后压缩文件夹发给好友即可哦

11
12
13

拓展

对于

pyinstaller -F main.py

除了-F参数,pyinstaller还有许多其他参数可供选择,以下是一些常用的参数:

  • -w :关闭控制台窗口,使程序在后台运行。
  • -c :为程序创建一个控制台窗口。
  • -D :创建一个包含多个文件的目录结构作为输出。
  • -i :指定程序的图标文件。
  • -n :指定程序的名称。
  • -p :添加额外的模块搜索路径。
  • --hidden-import :强制添加一个隐藏的导入(在运行时需要但无法自动检测到的模块)。
  • --exclude-module :排除特定模块。

例如,运行pyinstaller -w -i icon.ico main.py将使用icon.ico作为程序图标,并在后台运行程序。

尾声

喜欢本篇文章的小伙伴记得点赞收藏哦~
感谢大家的喜欢!


http://www.ppmy.cn/news/1185680.html

相关文章

opencv 连通域操作示例代码记录connectedComponentsWithStats()函数示例

void CrelaxMyFriendDlg::OnBnClickedOk() {hdc this->GetDC()->GetSafeHdc();// TODO: 在此添加控件通知处理程序代码string imAddr "c:/Users/actorsun/Pictures/";string imAddr1 imAddr"rice.png";Mat relax1, positive;relax1 imread(imAdd…

leetcode做题笔记206. 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示例 3: 输入&am…

H5游戏源码分享-密室逃脱小游戏(考验反应能力)

H5游戏源码分享-密室逃脱小游戏&#xff08;考验反应能力&#xff09; 预判安全位置&#xff0c;这个需要快速的反应能力 源码 <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /&…

设计模式(单例模式、工厂模式及适配器模式、装饰器模式)

目录 0 、设计模式简介 一、单例模式 二、工厂模式 三、适配器模式 四、装饰器模式 0 、设计模式简介 设计模式可以分为以下三种: 创建型模式&#xff1a;用来描述 “如何创建对象”&#xff0c;它的主要特点是 “将对象的创建和使用分离”。包括单例、原型、工厂方法、…

MATLAB算法实战应用案例精讲-【图像处理】机器视觉(基础篇)(六)

目录 前言 几个高频面试题目 工业相机与普通相机的差别 一、 工业相机与普通相机的区别

CSDN热榜分析4:生成词云图

文章目录 函数封装UI设计输出词云 热榜分析系列&#xff1a; CSDN热榜分析&#x1f525; UI界面&#x1f525; 领域热榜 函数封装 词云图的绘制功能早在最开始做热榜分析的时候就已经实现了&#xff0c;但需要依赖matplotlib来画图&#xff0c;而并没有直接导出功能&#x…

CSS宽度100%和宽度100vw之间有什么不同?

vw和vh分别代表视口宽度和视口高度。 使用width: 100vw代替的区别在于width: 100%&#xff0c;虽然100%将使元素适合所有可用空间&#xff0c;但视口宽度具有特定的度量&#xff0c;在这种情况下&#xff0c;可用屏幕的宽度 。 如果设置样式body { margin: 0 }&#xff0c;则1…

qt-C++笔记之带有倒计数显示的按钮,计时期间按钮锁定

qt-C笔记之带有倒计数显示的按钮&#xff0c;计时期间按钮锁定 code review! 文章目录 qt-C笔记之带有倒计数显示的按钮&#xff0c;计时期间按钮锁定1.运行2.main.cc3.main.pro 1.运行 2.main.cc 代码 #include <QApplication> #include <QPushButton> #includ…