打包python代码为exe,也就是打包为桌面运行程序

前言:

之前开发一些小的工具的时候,为了方便打包exe的时候方便,基本上能写一个文件就写一个文件了,但是后来发现写一个文件里面,打包命令是简单了但是写起来是真的麻烦,所以今天更新一下打包多个py文件为exe应用程序的步骤和命令。

一、打包单个文件为exe

Pyinstaller -F -w -i c.ico demo.py

以下是对命令 `pyinstaller -F -w -i c.ico demo.py` 的解释:

- **`pyinstaller`**: 这是 PyInstaller 命令的入口点,用于打包 Python 程序。

- **`-F`**: 这个选项告诉 PyInstaller 将所有文件打包成一个单独的可执行文件(one-file bundle)。这个选项是 `--onefile` 的简写。

- **`-w`**: 这个选项用于打包 Windows GUI 应用程序。它会在 Windows 上创建一个窗口程序,并且在运行时不会显示控制台窗口。如果打包的是命令行程序,不需要使用这个选项。这个选项是 `--windowed` 或 `--noconsole` 的简写。

- **`-i c.ico`**: 这个选项用于指定生成的可执行文件的图标。`c.ico` 是图标文件的路径,通常是 `.ico` 格式的文件。这个选项是 `--icon` 的简写。

- **`demo.py`**: 这是你要打包的主 Python 脚本文件。

### 总结

这个命令的完整解释是:
- 使用 PyInstaller 将 `demo.py` 打包成一个单独的可执行文件。
- 可执行文件将在 Windows 上运行,并且不会显示控制台窗口。
- 可执行文件将使用 `c.ico` 作为图标。

### 运行该命令

运行之后,PyInstaller 会生成一个 `dist` 目录,其中包含打包好的可执行文件。

### 示例文件

确保 `demo.py` 是你的主 Python 脚本,`c.ico` 是你要使用的图标文件。你可以根据需要更改这些文件名和路径。

这样,你将获得一个带有图标的单个可执行文件,并且在运行时不会显示控制台窗口。

二、打包多个文件为exe

1. 创建 spec 文件

使用 PyInstaller 创建一个 .spec 文件,这个文件定义了如何打包你的项目。可以通过以下命令生成:

pyinstaller --specpath . --onefile main.py

这将生成一个名为 main.spec 的文件,你可以对其进行修改以包含其他文件。

2. 编辑 spec 文件

打开生成的 main.spec 文件,进行以下修改:

# -*- mode: python ; coding: utf-8 -*-

block_cipher = None

a = Analysis(
    ['main.py', 'automation.py', 'utils.py'],  # 添加你的所有脚本
    pathex=['.'],  # 设置为你的项目路径
    binaries=[],
    datas=[],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)

pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='main',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True,  # 如果你希望是控制台程序,使用 console=True;如果是窗口程序,则使用 console=False
)

coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='main',
)

app = BUNDLE(
    coll,
    name='main.exe',
    icon=None,  # 如果有图标文件,可以指定图标文件路径
)

Analysis 部分添加你的所有脚本文件,例如 ['main.py', 'automation.py', 'utils.py']

3. 打包项目

使用以下命令打包项目:

pyinstaller main.spec
4. 运行打包后的可执行文件

打包完成后,你可以在 dist 目录下找到生成的 main.exe 文件,双击运行即可。

额外提示
  • 如果你的项目包含了非 Python 文件(例如配置文件、数据文件等),需要在 datas 部分添加这些文件。
  • 如果你使用了第三方库,确保在 hiddenimports 部分添加这些库的导入声明。

这个过程将你的多个 Python 文件打包成一个单独的可执行文件,方便分发和使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值