首页 > 编程语言 >【Python进阶】轻松上手,6种打包Python代码的方法,让你的程序变成exe应用!

【Python进阶】轻松上手,6种打包Python代码的方法,让你的程序变成exe应用!

时间:2024-05-25 18:01:13浏览次数:28  
标签:可执行文件 exe pyinstaller 进阶 Python 代码 打包

Python是一种高级编程语言,它具有易学易用、跨平台等优点,因此在开发中得到了广泛的应用。

然而,Python代码需要在Python解释器中运行,这对于一些用户来说可能不太方便。

因此,将Python代码打包成可执行文件(exe)是一种很好的解决方案。

本文将介绍6种将Python代码打包成exe应用的方式。

一、打包前置知识

1.1 什么是 exe 可执行文件?

exe 文件英文全名是 executable file,翻译为可执行文件(但它不等于可执行文件),可执行文件一般来说包含两种,文件扩展名为 .exe 的是其中的一种。正确的 exe 文件一般可以在 Windows 平台上直接双击运行!我们通常用的各种软件都是通过快捷方式打开的,而这个快捷方式的目标地址就是这个软件的一个 exe 文件。还有其他的可执行文件,这里就不详述了。

1.2 为什么要将 Python 程序打包为 exe 可执行文件?

众所周知,Python 程序的运行必须要有 Python 的环境,但是程序编出来是用的,如果是给别人用,而他/她的电脑上又没有 Python 程序运行的环境怎么办呢?总不能让他/她去安装一个吧?这时我们就要将 Python 程序打包为 exe 文件。这样,在 Windows 平台下,就可以直接运行该程序,不论有没有 Python 环境。不过呢,如果对方使用的是 Linux 系统,自带了符合版本要求的 Python 环境,那就不必打包,也更用不到 pyinstaller 了。

1.3 为什么 Python 程序不能直接运行呢?

Python 是解释性语言,它与 C 或者 C++ 等编译型语言不同,C 或者 C++ 都是要编译再运行的,(Windows 平台下编译产生的最终文件一般就是 exe 文件),Python 本质上只是对一段文本进行解释,类似于浏览器解析 html 文件,是不会产生任何可执行文件的。

1.4 我们用什么来打包 Python 文件呢?

一般我们都用 Python 的 Pyinstaller 模块进行打包,也有其他的打包模块,不过相比之下,Pyinstaller 的使用者最多,用起来也很简单(但效果并不一定是最好的,这里推荐一个效果可能更好的模块 —— Nuitka),因此本文章就以 Pyinstaller 模块来打包 Python 程序。

1.5 打包有哪几种分类呢?

根据需要,下面的方法大家可以任选一种进行打包(我一般用第 1 个),不过新手的话建议全部都看一下哦。

① 简单打包:操作最简单,成功可能性最高,不兼容的可能性最低,但无法保护源代码,只能保证可以无需 Python 环境即可运行

② 一般打包:步骤最少,操作最简单,但是打包时间久,效果不理想(打包后文件太大,一般 100MB 以上)

③ 虚拟环境下的打包:步骤稍多,操作略微复杂,但是打包快,效果好(打包后文件不大,一般 10MB 以内)

④ 多 Python 文件的打包:步骤更多,操作更复杂,但是可以将多个 Python 文件都打包进去

⑤ 包含资源文件的打包:步骤极为繁琐,操作非常复杂,但是可以把所有的文件都包含进去

二、6种打包方法

1、使用pyinstaller

pyinstaller是一个流行的Python打包工具,它可以将Python代码打包成独立的可执行文件。

使用pyinstaller打包Python代码非常简单,只需要在命令行中输入以下命令:

pyinstaller your_script.py

这将生成一个可执行文件,可以在Windows、Linux和MacOS上运行。

2、使用cx_Freeze

cx_Freeze是另一个流行的Python打包工具,它可以将Python代码打包成独立的可执行文件。

使用cx_Freeze打包Python代码也很简单,只需要在命令行中输入以下命令:

cxfreeze your_script.py --target-dir dist

这将生成一个可执行文件,可以在Windows、Linux和MacOS上运行。

3、使用py2exe

py2exe是一个Python打包工具,它可以将Python代码打包成Windows可执行文件。

使用py2exe打包Python代码也很简单,只需要在命令行中输入以下命令:

python setup.py py2exe

这将生成一个Windows可执行文件。

4、使用py2app

py2app是一个Python打包工具,它可以将Python代码打包成MacOS可执行文件。

使用py2app打包Python代码也很简单,只需要在命令行中输入以下命令:

python setup.py py2app

这将生成一个MacOS可执行文件。

5、使用Nuitka

Nuitka是一个Python编译器,它可以将Python代码编译成C++代码,然后将其打包成可执行文件。

使用Nuitka打包Python代码也很简单,只需要在命令行中输入以下命令:

nuitka your_script.py

这将生成一个可执行文件,可以在Windows、Linux和MacOS上运行。

6、使用Nuitka+pyinstaller

Nuitka和pyinstaller可以结合使用,将Python代码编译成C++代码,然后使用pyinstaller将其打包成可执行文件。

使用Nuitka+pyinstaller打包Python代码也很简单,只需要在命令行中输入以下命令:

nuitka --standalone your_script.py
pyinstaller your_script.spec

这将生成一个可执行文件,可以在Windows、Linux和MacOS上运行。

7、总结

本文介绍了6种将Python代码打包成exe应用的方式,包括pyinstaller、cx_Freeze、py2exe、py2app、Nuitka和Nuitka+pyinstaller。

每种方式都有其优点和缺点,开发者可以根据自己的需求选择合适的方式。

无论选择哪种方式,都可以将Python代码打包成独立的可执行文件,方便用户使用。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。

标签:可执行文件,exe,pyinstaller,进阶,Python,代码,打包
From: https://blog.csdn.net/Summer9684/article/details/139201050

相关文章

  • 通过Python爬取公告内容
    在网络时代,信息获取变得更加便捷。通过网络爬虫技术,我们可以从互联网上快速获取各种信息。本文将介绍如何使用Python爬虫工具从指定网站上获取公告内容,并提取其中的关键信息。1.简介在本文中,我们将使用Python的requests库和BeautifulSoup库来实现网页内容的获取和解......
  • Python--List列表
    list列表⭐⭐1高级数据类型Python中的数据类型可以分为:数字型(基本数据类型)和非数字型(高级数据类型)●数字型包含:整型int、浮点型float、布尔型bool、复数型complex●非数字型包含:字符串str、列表list、元组tuple、集合set、字典dict高级数据类型的特点●都是一个序列se......
  • 【爬虫软件】用Python开发的抖音关键词搜索工具,可筛选爬取热门视频、最新视频等
    一、背景介绍1.1爬取目标用python开发的爬虫采集软件,可自动按关键词抓取抖音视频数据。为什么有了源码还开发界面软件呢?方便不懂编程代码的小白用户使用,无需安装python,无需改代码,双击打开即用!软件界面截图:爬取结果截图:结果截图1:结果截图2:结果截图3:以上。1.2演......
  • Java ThreadPoolExecutor
    ThreadPoolExecutor?ThreadPoolExecutor是什么,先拆开来看,ThreadPoolAndExecutor?那ThreadPool是什么?Executor又是什么?Executor:任务执行者,只定义了一个execute方法,接收一个Runable参数。publicinterfaceExecutor{voidexecute(Runnablecommand);}ThreadPool:可以缓存......
  • 切换python3 版本
    在Ubuntu上安装了多个Python版本后,你可以使用`update-alternatives`命令来管理和切换默认的Python版本。以下是具体步骤:###使用`update-alternatives`切换Python版本1.**添加Python3.12到`update-alternatives`系统:**```bashsudoupdate-alternatives......
  • Android14音频进阶之AAOS之CarAudioService如何衔接AudioControl服务(七十四)
    简介:CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!优质专栏:Audio工程师进阶系列【原创干货持续更新中……】......
  • 利用Python+OpenCV实现截图匹配图像,支持自适应缩放、灰度匹配、区域匹配、匹配多个结
    一、依赖安装pipinstallopencv-pythonpipinstallpyautogui二、获取系统缩放比例注意:必须先通过ctypes获取wid之后才能导入pyautogui,如果需要在其它代码中引用该模块,最好把获取分辨率这部分代码放到程序入口处,然后传递给识图函数,避免提前导入pyautogui导致获取分辨率失......
  • Windows pyinstaller wxPython pyecharts无法正常显示问题
    WindowspyinstallerwxPythonpyecharts无法正常显示问题最近遇到一个pyinstaller打包wxPythonpyecharts无法显示的问题,pyecharts生成的html页面显示空白。未使用pyinstaller打包时显示正常。问题原因WebViewBackendDefault=b''WebViewBackendEdge=b'wxWebViewEdge'Web......
  • MyBatis进阶
    时间:2024-05-25星期五MyBatis高级特性MyBatis日志管理日志日志文件是用于记录系统操作事件的记录文件或文件集合日志保存历史数据,使诊断问题以及理解系统活动的重要依据SLF4J与Logback日志组件关系 SLF4j作为日志输出的门面,负责日志输出的表现;logback是对日志......
  • 爬虫-Python操作MySQL数据库
    Python操作MySQL数据库1、安装pipinstallpymysql2、连接数据库使用connect函数创建连接对象,此连接对象提供关闭数据库、事务提交、事物回滚等操作。importpymysqlconn=pymysql.connect(host='127.0.0.1',user='xxx',password='xxxx',port=3306,......