翼度科技»论坛 编程开发 python 查看内容

PyInstaller将Python脚本转为独立可执行文件

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
PyInstaller 简介

PyInstaller 是一个跨平台的工具,它的主要功能包括:

  • 将 Python 脚本转换为独立的可执行文件。
  • 支持 Windows、macOS 和 Linux 系统。
  • 自动检测 Python 脚本的依赖项,并将其打包。
  • 生成的文件可以单文件形式(如
    1. .exe
    复制代码
    ),也可以是一个包含多个依赖项的目录。

安装 PyInstaller

使用 pip 安装 PyInstaller:
  1. pip install pyinstaller
复制代码
检查安装是否成功:
  1. pyinstaller --version
复制代码
基本用法


将脚本转换为可执行文件

假设你的脚本名为
  1. app.py
复制代码
,可以运行以下命令:
  1. pyinstaller app.py
复制代码
完成后,PyInstaller 会生成以下内容:

    1. dist/
    复制代码
    :存放最终的可执行文件。
    1. build/
    复制代码
    :存放打包过程中的临时文件。
    1. app.spec
    复制代码
    :PyInstaller 的配置文件。
生成的可执行文件位于
  1. dist/app
复制代码
目录下。

生成单文件可执行程序

默认情况下,PyInstaller 会生成一个包含多个文件的目录。如果希望生成一个独立的单文件可执行文件,可以加上
  1. --onefile
复制代码
参数:
  1. pyinstaller --onefile app.py
复制代码
添加图标

可以通过
  1. --icon
复制代码
参数为程序添加自定义图标(支持
  1. .ico
复制代码
格式):
  1. pyinstaller --onefile --icon=myicon.ico app.py
复制代码
进阶用法


隐藏控制台窗口

对于图形化应用程序,可以隐藏运行时弹出的控制台窗口,使用
  1. --noconsole
复制代码
参数:
  1. pyinstaller --onefile --noconsole app.py
复制代码
自定义输出目录

可以通过
  1. --distpath
复制代码
  1. --workpath
复制代码
参数指定输出目录和临时文件目录:
  1. pyinstaller --onefile --distpath ./output --workpath ./temp app.py
复制代码
使用 .spec 文件

PyInstaller 生成的
  1. .spec
复制代码
文件是一个配置脚本,包含了打包过程中的所有参数。你可以编辑这个文件,然后使用以下命令重新打包:
  1. pyinstaller app.spec
复制代码
常见问题


1. 可执行文件过大

PyInstaller 会打包所有依赖项,导致生成的可执行文件体积较大。可以尝试以下方法优化:

  • 使用
    1. UPX
    复制代码
    工具对可执行文件进行压缩:
  1. pyinstaller --onefile --upx-dir=/path/to/upx app.py
复制代码

  • 删除不必要的依赖项。

2. 打包后程序无法运行

可能原因:

  • 缺少动态链接库(如
    1. .dll
    复制代码
    1. .so
    复制代码
    文件)。检查是否安装了程序所需的外部依赖项。
  • 使用了 PyInstaller 不完全支持的库。可以通过
    1. --hidden-import
    复制代码
    手动添加隐藏的依赖:
  1. pyinstaller --onefile --hidden-import=<module_name> app.py
复制代码
3. 打包速度慢

对于复杂的项目,打包可能耗时较长。可以使用
  1. --clean
复制代码
参数清理临时文件,加快后续的打包速度。

PyInstaller 与其他工具对比

工具优点缺点PyInstaller跨平台,支持多种模式打包文件较大,依赖 Python 环境cx_Freeze支持更多细粒度的打包控制配置复杂py2exe专注于 Windows 平台仅支持 Windowspy2app专注于 macOS 平台仅支持 macOS
示例:完整打包命令

以下命令将脚本
  1. app.py
复制代码
打包为单文件可执行程序,附带图标,并隐藏控制台窗口:
  1. pyinstaller --onefile --icon=myicon.ico --noconsole app.py
复制代码
总结

PyInstaller 是一个非常实用的工具,适合需要分发 Python 应用程序的开发者。通过 PyInstaller,可以将 Python 程序变成独立的可执行文件,免去用户配置环境的烦恼。
以上就是PyInstaller将Python脚本转为独立可执行文件的详细内容,更多关于PyInstaller Python脚本转可执行文件的资料请关注脚本之家其它相关文章!

来源:https://www.jb51.net/python/331062ni1.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具