pyinstaller打包流程

1 基础环境

python 2.7.17
pyinstaller 3.5
安装pyinstaller

pip install pyinstaller

2 解决几个打包后运行会出现的问题

2.1 打包后图标模糊的问题

图标模糊是因为ico文件分辨率的问题,需要打包为多个尺寸的,这样在文件夹里、桌面上、任务栏、开始屏幕上会自动采用不同分辨率的图标
生成应用图标ico
图标必须为.ico格式,且需要有多种尺寸的,包括16*16,、32*32、48*48、64*64、128*128、256*256,可以在这个网站进行打包https://www.aconvert.com/icon/
在这里插入图片描述

2.2 设置应用图标后,打包后运行不展示图标

需要修改代码,引用图标的地方需要指定路径
先写一个方法,如下:

def rp(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    try:
        # PyInstaller creates a temp folder and stores path in _MEIPASS
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)

在引用ico文件的地方,用这个方法包裹下,如下:
在这里插入图片描述

2.3 解决任务栏图标不正确的问题

因为windows会任务打包后的成为是python,所以任务栏展示的是python图标
我们只需要指定一个id即可,如下:

import ctypes
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("todo_task")

2.4 打包运行后找不到模块的问题

3 打包流程

3.1 生成.spec文件

执行命令:

pyi-makespec -F main.py

3.2 修改spec文件内容

主要修改三个地方
1、修改datas,设置静态文件的路径,如下:
在这里插入图片描述
2、在spec中配置应用图标路径,如下:
在这里插入图片描述
3、设置打开exe时不弹出cmd窗口
在这里插入图片描述
4、解决找不到包的问题
运行exe报ModuleNotFoundError: No module named 'xxx'
是因为打包的时候没有指定三方包的路径
比如我们是在虚拟环境中的运行的工程,我们三方的包也是装在虚拟环境中的
在pathex中配置虚拟环境路径,如下:
在这里插入图片描述

3.3 打包

执行命令:

pyinstaller -F main.spec
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
PyInstaller 是一个用于将 Python 代码打包成可执行文件的工具。以下是 PyInstaller打包流程: 1. 安装 PyInstaller:使用 pip 命令进行安装,例如 `pip install pyinstaller`。 2. 创建打包脚本:在你的项目根目录下创建一个打包脚本,通常使用 Python 脚本文件(如 `build.py`)来定义打包的配置和选项。 3. 配置打包选项:在打包脚本中,你可以指定一些配置选项,例如设置入口文件、指定输出目录、添加额外的资源文件等。 4. 执行打包命令:在命令行中运行打包脚本或者直接使用 PyInstaller 命令。例如,使用 `pyinstaller build.py` 或者 `python -m PyInstaller build.py`。 5. 打包过程:PyInstaller 会分析你的代码及其依赖,将它们收集起来,并创建一个可执行文件。它会自动将 Python 解释器和依赖的模块一起打包,以便在没有 Python 环境的机器上运行。 6. 输出可执行文件:打包完成后,PyInstaller 会在指定的输出目录中生成可执行文件。根据你的配置,可能会生成一个单个的可执行文件或者一个包含依赖的文件夹。 7. 测试可执行文件:运行生成的可执行文件,确保它能够正常工作。在测试过程中,可能需要手动复制一些资源文件到可执行文件所在的目录。 请注意,PyInstaller 并不是万能的,某些特殊的 Python 代码或依赖可能无法正确打包。在使用 PyInstaller 进行打包时,你可能需要根据具体情况进行一些配置和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值