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:‌要包含的模块或库。‌允许用户在打包过程中包含特定的模块或库,‌以确保打包后的程序能够正常运行。‌

相关推荐
第二只羽毛5 分钟前
重载和继承的实践
java·开发语言
AndrewHZ9 分钟前
【图像处理基石】GIS图像处理入门:4个核心算法与Python实现(附完整代码)
图像处理·python·算法·计算机视觉·gis·cv·地理信息系统
光军oi41 分钟前
全栈开发杂谈————JAVA微服务全套技术栈详解
java·开发语言·微服务
帮帮志41 分钟前
目录【系列文章目录】-(关于帮帮志,关于作者)
java·开发语言·python·链表·交互
qiuiuiu4131 小时前
正点原子RK3568学习日记-GIT
linux·c语言·开发语言·单片机
草莓熊Lotso1 小时前
《C++ STL list 完全指南:从基础操作到特性对比,解锁链表容器高效用法》
开发语言·c++·list
二王一个今2 小时前
Python打包成exe(windows)或者app(mac)
开发语言·python·macos
一勺菠萝丶2 小时前
Mac 上用 Homebrew 安装 JDK 8(适配 zsh 终端)完整教程
java·python·macos
C嘎嘎嵌入式开发7 小时前
(2)100天python从入门到拿捏
开发语言·python
Stanford_11067 小时前
如何利用Python进行数据分析与可视化的具体操作指南
开发语言·c++·python·微信小程序·微信公众平台·twitter·微信开放平台