前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你基于Python实现打包成exe程序

手把手教你基于Python实现打包成exe程序

原创
作者头像
手撕代码八百里
发布2024-01-04 21:26:33
95200
代码可运行
发布2024-01-04 21:26:33
举报
文章被收录于专栏:猿计划猿计划
运行总次数:0
代码可运行

前言

将Python程序打包成exe(可执行文件)的主要原因是为了便于分发和使用,同时保护代码和提升用户体验。。这个过程有几个关键优点:

  • 无需安装Python:最大的好处是,最终用户不需要在他们的机器上安装Python来运行程序。这意味着即使是不熟悉Python或没有安装Python环境的用户,也可以轻松运行您的程序。
  • 简化部署:将程序打包成一个或几个文件,使得部署和分发变得更加简单。用户只需下载一个exe文件,而无需关心依赖库和其他资源。
  • 跨平台兼容性:虽然打包成exe主要是为了Windows用户,但使用类似的工具,您也可以为macOS和Linux创建可执行文件,从而增强跨平台兼容性。
  • 保护源代码:虽然不是绝对的,但将程序打包成exe文件可以在一定程度上保护您的源代码,防止用户直接访问和修改。
  • 用户体验:对于习惯于双击exe文件来运行程序的Windows用户来说,这提供了一种更符合他们期望的使用方式。
  • 集成资源:通过打包,您可以将程序所需的各种资源(如图像、数据文件等)集成到一个文件中,减少丢失或路径错误的风险。
  • 性能优化:某些打包工具允许您进行优化,以提高程序运行时的性能。
  • 专业外观:对于商业软件或面向广泛用户群的应用程序来说,提供一个标准的exe安装程序可以给用户留下更专业的印象。

将Python打包成exe可执行程序的技术和方式

将Python程序打包成Windows平台的EXE可执行文件可以使用多种技术或工具。以下是一些常用的打包工具:

1、 PyInstaller :可能是最流行的打包工具之一。它支持将Python应用打包成一个独立的可执行文件,无需依赖于本地Python环境。PyInstaller支持多个平台,包括Windows、macOS和Linux。

2、 cx_Freeze :这是另一种常用的工具,它可以用来创建跨平台的应用程序,包括Windows上的EXE文件。cx_Freeze是一个脚本驱动的工具,允许用户通过脚本定制打包过程。

3、 py2exe :这是一个专为Windows设计的工具,它可以将Python脚本转换成只运行于Windows的可执行文件。py2exe在处理依赖关系和包含所需库方面表现良好,但它不支持Python 3.5及以上版本。

3、 Nuitka :Nuitka是一个Python编译器,它可以将Python代码编译成二进制可执行文件。它不仅可以用于创建独立的可执行文件,还可以用于优化Python代码的性能。

4、 Py2app :虽然主要用于在macOS上创建应用程序包,但py2app也可以用于在Windows上创建独立的可执行文件。

5、 PyOxidizer :这是一个相对较新的工具,它可以创建包含Python解释器和依赖库的独立二进制可执行文件。PyOxidizer着重于创建小巧、快速启动的应用程序。

6、 Briefcase :Briefcase是一个用于将Python项目打包成独立应用程序的工具,支持多个平台,包括Windows、macOS和Linux。

从网上找了一个对比:

使用PyInstaller将Python程序打包成exe可执行文件教程

(一)安装pyinstaller

代码语言:shell
复制
pip install pyinstaller

如果是升级的话:

代码语言:shell
复制
pip install --upgrade pyinstaller

(二)常用参数介绍

一些常用的PyInstaller选项参数及其说明:

代码语言:shell
复制
--onefile 或 -F:

生成单个可执行文件。默认情况下,PyInstaller会生成一个包含依赖文件的文件夹。
使用此选项后,所有依赖项都会被打包到一个文件中。
--noconsole 或 -w:

用于GUI应用程序,不显示控制台窗口。
对于需要交互的控制台程序不适用。
--console, -c:

强制显示控制台窗口(默认行为)。
--icon=图标路径:

为生成的exe文件添加一个图标。
图标路径应该是.ico文件的完整路径。
--add-data=<SRC;DEST>:

包括非Python文件到打包应用中。
<SRC;DEST>是一对源和目标路径,用分号;分隔。在Linux和macOS上,使用冒号:而不是分号。
--name=名称:

指定输出文件的名称。
--paths=路径:

在搜索导入的模块时添加额外的路径。
--hidden-import=模块名 或 --hiddenimport:

指定PyInstaller可能未自动检测到的隐藏导入。
--windowed:

另一种写--noconsole的方式。
--version-file=文件:

添加一个版本资源从指定的文件到可执行文件。
--runtime-hook=文件:

运行时挂钩是在Python解释器初始化期间运行的脚本。
--distpath=DIR:

指定输出的分发文件夹,默认是./dist。
--workpath=DIR:

指定工作文件夹,用于存储临时工作文件,默认是./build。
--clean:

清除PyInstaller创建的临时文件和缓存。
--debug:

生成用于调试的输出和文件。
--upx-dir:

如果您安装了UPX压缩工具,此选项可以指定其路径。

(三)如何打包成exe

1、编写自己的python代码,例如:

hello.py:

代码语言:python
代码运行次数:0
复制
print("Hello world!")

2、执行命令打包

代码语言:shell
复制
pyinstaller hello.py

可以将hello.py替换成你需要打包的文件入口。

3、执行后就会生成

运行上述命令后,PyInstaller会在当前目录下创建两个文件夹:build/和dist/。

dist/文件夹包含了可执行文件。

如果一切正常,exe文件会在这里找到。

4、运行文件

可以双击即可运行,或者在cmd中直接运行。

(四)高级用法

1、单文件(--onefile):

使用--onefile选项创建单一的exe文件:

代码语言:shell
复制
pyinstaller --onefile your_script.py
这将生成一个包含所有依赖项的单个exe文件。

2、无控制台(--noconsole):

对于GUI应用程序,使用--noconsole选项以避免显示命令行窗口:

代码语言:shell
复制
pyinstaller --noconsole your_script.py

3、添加图标(--icon=路径/图标.ico):

可以为您的exe文件添加一个图标:

代码语言:shell
复制
pyinstaller --onefile --icon=路径/图标.ico your_script.py

4、添加数据文件:

如果您的应用程序需要额外的数据文件(如图像、文本文件等),您可以使用--add-data选项指定它们。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 将Python打包成exe可执行程序的技术和方式
  • 使用PyInstaller将Python程序打包成exe可执行文件教程
    • (一)安装pyinstaller
      • (二)常用参数介绍
        • (三)如何打包成exe
          • (四)高级用法
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com