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

相关推荐
weixin_307779131 小时前
Azure上基于OpenAI GPT-4模型验证行政区域数据的设计方案
数据仓库·python·云计算·aws
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
m0_748256144 小时前
SpringBoot
java·spring boot·后端
多想和从前一样4 小时前
Django 创建表时 “__str__ ”方法的使用
后端·python·django
涛粒子6 小时前
Spring Bean 生命周期的执行流程
java·后端·spring
小喵要摸鱼6 小时前
【Pytorch 库】自定义数据集相关的类
pytorch·python
bdawn6 小时前
深度集成DeepSeek大模型:WebSocket流式聊天实现
python·websocket·openai·api·实时聊天·deepseek大模型·流式输出
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
mosquito_lover16 小时前
怎么把pyqt界面做的像web一样漂亮
前端·python·pyqt
赵琳琅6 小时前
Java语言的云计算
开发语言·后端·golang