Python打包命令汇总

1、pyinstaller打包

  • 环境安装:pip install pyinstaller
  • 网络不好可以通过 -i 指定安装源:pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • 安装完成后通过:pyinstaller --version 查看是否安装成功
  • 打包单个脚本:pyinstaller -F -w -i python.ico main.py

pyinstaller参数说明:

参数 用法
-F 生成结果是一个 exe 文件,所有的第三方依赖、资源和代码均被打包进该 exe 内
-D 生成结果是一个目录,各种第三方依赖、资源和 exe 同时存储在该目录(默认)
-a 不包含unicode支持
-d 执行生成的 exe 时,会输出一些log,有助于查错
-w 不显示命令行窗口
-c 显示命令行窗口(默认)
-p 指定额外的 import 路径,类似于使用 python path
-i 指定图标
-v 显示版本号
-n 生成的 .exe 的文件名

2、nuitka打包

nuitka可以将python代码(自己写的部分)转换成C代码,以提高运行的速度。

  • 安装环境:pip installer nuitka

  • pip install nuitka -i https://pypi.tuna.tsinghua.edu.cn/simple/

  • 简单示例:nuitka --standalone --onefile --show-memory --show-progress --nofollow-imports --output-dir=out --windows-icon-from-ico=lion main.py

    --mingw64 默认为已经安装的vs2017去编译,否则就按指定的比如mingw(官方建议)
    --standalone 打包结果与本地的Python环境无关
    --onefile 打包结果为一个可执行文件
    --lto 用于启用链接时间优化,编译和链接阶段对整个程序进行优化,提高程序的性能和执行效率
    --remove-output 在打包结束后,清理打包过程中生成的临时文件
    --enable-plugin= 启用插件,等号后跟插件名,如在代码中使用了PySide6,就需要加上--enable-plugin=pyside6。具体的插件列表可以使用nuitka --plugin-list来查看
    -disable-console 在运行打包后的程序时,不会弹出控制台
    --include-package-data= 包含给定软件包名称中的文件,软件包名称,在运行程序时提示FileNotFoundError等错误,可以使用该选项试试
    --include-data-files= 按文件名包含文件,等号后的格式为<SRC=DEST>。SRC指的是文件夹的路径,DEST指的是文件夹相对于打包结果的路径,其中DEST只能使用相对路径
    --include-data-dir= 包含文件夹中的文件,等号后的格式为<SRC=DEST>。使用方法与--include-data-files=相同
    --output-dir=out 生成exe到out文件夹下面去
    --show-progress 显示编译的进度,很直观
    --show-memory 显示内存的占用
    --windows-icon-from-ico=你的.ico 软件的图标
    --windows-company-name=Windows下软件公司信息
    --windows-product-name=Windows下软件名称
    --windows-file-version=Windows下软件的信息
    --windows-product-version=Windows下软件的产品信息
    --windows-file-description=Windows下软件的作用描述
    --windows-uac-admin=Windows下用户可以使用管理员权限来安装
    --linux-onefile-icon=Linux下的图标位置

3、cx_Freeze打包

cx_Freeze 可以很方便地将 Python 程序打包成单独的可执行文件,方便用户快速安装和使用

  • pip install cx_Freeze

  • 使用:cxfreeze --target-dir=dist --target-name=main --base-name=Win32Gui --icon=zigbee.ico main.py

    name:‌应用的名称。‌这是打包后生成的可执行文件的名称。‌
    version:‌应用的版本。‌用于标识应用的版本号。‌
    description:‌应用的描述。‌提供关于应用的简短描述,‌有助于用户了解应用的功能和用途。‌
    executables:‌可执行文件列表。‌定义了要打包的 Python 脚本及其相关配置,‌如图标、‌基础窗口等。‌
    build_exe_options:‌构建执行文件的选项。‌包括需要打包的额外包和需要包含的文件或文件夹等。‌
    icon:‌图标设置。‌允许在生成的可执行文件中指定一个图标文件,‌使应用程序看起来更专业。‌
    include_files:‌添加数据文件。‌如果在应用中使用了额外的数据文件(‌如配置文件、‌图像等)‌,‌可以在 setup 脚本中添加这些文件。‌
    hide_console:‌隐藏控制台窗口。‌对于 GUI 应用,‌可以通过设置 base 参数为 Win32GUI 来隐藏运行时显示的控制台窗口。‌
    target-dir 和 target-name:‌指定打包后的程序路径和名称。‌这些参数可以帮助用户更好地组织和管理打包后的文件。‌
    base-name:‌基础窗口名称。‌如果程序使用图形化界面,‌可以通过设置 base-name 参数来配置程序打开时是否隐藏黑窗口。‌
    include-modules:‌要包含的模块或库。‌允许用户在打包过程中包含特定的模块或库,‌以确保打包后的程序能够正常运行。‌

相关推荐
waterHBO41 分钟前
python 爬虫 selenium 笔记
爬虫·python·selenium
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
2401_858286113 小时前
52.【C语言】 字符函数和字符串函数(strcat函数)
c语言·开发语言
铁松溜达py3 小时前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络
everyStudy3 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
AIAdvocate4 小时前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼4 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
C-SDN花园GGbond4 小时前
【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
c语言·开发语言·数据结构·排序算法
迷迭所归处5 小时前
C++ —— 关于vector
开发语言·c++·算法
架构文摘JGWZ6 小时前
Java 23 的12 个新特性!!
java·开发语言·学习