PyInstaller 打包 Python 应用程序一键双击运行

PyInstaller 打包 Python 应用程序一键双击运行

作为一个词语,"活着"在语言里充满了力量,它的力量不是来自于喊叫,也不是来自于进攻,而是忍受,去忍受生命赋予我们的责任,去忍受现实给予我们的幸福和苦难、无聊和平庸。 ------余华《活着》

介绍

PyInstaller是一个用于将Python应用程序打包成独立可执行文件的工具。本教程将指导你从安装PyInstaller到成功打包应用程序,包括生成的文件目录结构等。

步骤 1:安装 PyInstaller

首先,确保你已经安装了Python。然后,使用以下命令安装PyInstaller:

bash 复制代码
pip install pyinstaller

步骤 2:创建你的 Python 应用程序

编写你的Python应用程序,例如一个名为 app.py 的简单脚本。确保所有依赖项都已经安装,并且你的应用程序在本地正常运行。

python 复制代码
# app.py
print("Hello, PyInstaller!")

步骤 3:使用 PyInstaller 打包应用程序

在终端中,导航到你的应用程序所在的目录,然后运行以下命令:

bash 复制代码
pyinstaller -F app.py

上述命令中:

  • -F 选项表示打包成单个可执行文件。
  • app.py 是你的应用程序文件名。

步骤 4:查看生成的文件

PyInstaller将在当前目录下创建一个名为 dist 的目录,其中包含打包后的应用程序。其次,还有一个build的文件夹,这是一个临时文件目录。 你可以在终端中输入以下命令查看生成的文件:

bash 复制代码
cd dist
ls

这将显示包含你的应用程序可执行文件的文件列表。

结论

至此,你已经成功使用PyInstaller将你的Python应用程序打包成一个独立的可执行文件。你可以将生成的文件分享给其他人,他们无需安装Python或任何依赖项即可运行你的应用程序。

这只是一个简单的示例,如果你的应用程序有其他依赖项、资源文件等,可能需要进一步调整PyInstaller的参数。

文末彩蛋

PyInstaller提供了许多参数和选项,以满足不同类型应用程序的需求。以下是一些常用的参数和选项:

  1. -F, --onefile: 将应用程序打包成单个可执行文件。

    bash 复制代码
    pyinstaller -F app.py
  2. --name: 指定生成的可执行文件的名称。

    bash 复制代码
    pyinstaller -F --name YourAppName app.py
  3. -D, --onedir: 将应用程序打包成一个文件夹,包含多个文件。

    bash 复制代码
    pyinstaller -D app.py
  4. -w, --noconsole: 创建一个没有控制台窗口的GUI应用程序。

    bash 复制代码
    pyinstaller -w app.py
  5. --icon: 指定应用程序的图标文件。

    bash 复制代码
    pyinstaller --icon=app_icon.ico app.py
  6. --hidden-import: 明确指定需要包含的隐藏导入(例如动态导入的模块)。

    bash 复制代码
    pyinstaller --hidden-import=module_name app.py
  7. --add-data: 添加附加的数据文件或文件夹。

    bash 复制代码
    pyinstaller --add-data "path/to/data:data" app.py
  8. --exclude-module: 排除特定模块。

    bash 复制代码
    pyinstaller --exclude-module=module_name app.py
  9. --upx-dir: 指定UPX可执行文件压缩工具的路径。

    bash 复制代码
    pyinstaller --upx-dir=path/to/upx app.py
  10. --clean: 在构建之前删除临时文件。

    bash 复制代码
    pyinstaller --clean app.py

这些只是一些常见的选项,PyInstaller提供了更多的参数和配置选项。你可以查阅PyInstaller的官方文档以获取详细信息:PyInstaller Documentation

相关推荐
小江的记录本1 小时前
【JVM虚拟机】垃圾回收GC:四种引用类型:强引用、软引用、弱引用、虚引用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
小马爱打代码1 小时前
Spring源码 第四篇:Spring 5 源码深度拆解:AOP 全流程核心原理
java·后端·spring
APIshop1 小时前
Python 获取 1688 商品采集 API 接口 | 工厂货源自动化对接商品信息 | 无需选品
运维·python·自动化
deepin_sir1 小时前
10 - 函数
开发语言·python
ServBay2 小时前
2026 Mac 本地大模型部署深度解析与混合架构指南
后端·macos·aigc
charlee442 小时前
《GIS基础原理与技术实践》配套案例(Python版)
python·conda·numpy·gis·环境配置
枫叶林FYL2 小时前
项目十:事件溯源仓储管理系统(WMS)仿真实现
开发语言·python
一拳一个娘娘腔3 小时前
【SRC漏洞挖掘系列】第10期:GraphQL & API 安全 —— 现代 API 的“裸奔”时代
后端·安全·graphql
ZhengEnCi3 小时前
01-如何监听接口调用情况?
java·spring boot·后端
渣渣xiong5 小时前
从零开始:前端转型AI agent直到就业第五十七天-第五十八天
前端·人工智能·python