PyInstaller如何打包依赖文件至目标程序目录

 更新时间:2022年02月10日 10:21:49   作者:高处欲乘风  
这篇文章主要介绍了PyInstaller如何打包依赖文件至目标程序目录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

打包依赖文件至目标程序目录

问题

我使用 PySide2 开发了一个应用程序,为了方便其他人使用,我便使用 PyInstaller 打包成 *.exe。打包模式为 one-folder,即生成的目标文件是一个文件夹,里面包含了该 *.exe 文件及该 *.exe 所依赖的全部文件。

打开该文件夹,截图如下:

在这里插入图片描述

一切都很顺利,但是有这样一个问题,程序运行时依赖几个文件(*.png,*.txt),没有给我打包至目标目录下,*.exe 就找不到文件了,也就无法运行。

解决办法

*使用配置文件 .spec,指定依赖的文件一起打包。

配置文件重点部分内容:

a = Analysis(['MainWindow.py'],
             pathex=['E:\\7-Pycharm\\contrl_sys_ui'],
             binaries=[],
             datas=[("./other", "other"), ("./QtDesigner", "QtDesigner")],

datas 这个选项给 (原文件路径, 目标文件路径) 元组。原文件路径是文件/文件夹在电脑上的路径,打包时,PyInstaller 会根据我们指定的原文件路径去复制我们指定的原文件到目标文件路径下。

目标文件路径是以打包生成的目标程序所在目录为跟目录。

例如,我的打包目录是 ./dist/MainWindow,那么 PyInstaller 就会在复制 ./other 和 ./QtDesigner 到 ./dist/MainWindow 目录下。

在打包的目标文件中,就能发现我们想要一起打包的文件夹也全部打包过来了,截图如下:

在这里插入图片描述

pyinstaller打包exe有依赖文件

pyinstaller 配置文件不要设置在.spec 上,不然更新配置文件不生效,使用os.getcd()获取exe执行路径即可

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • pygame实现飞机大战

    pygame实现飞机大战

    这篇文章主要为大家详细介绍了pygame实现飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • python中的bool数组取反案例

    python中的bool数组取反案例

    这篇文章主要介绍了python中的bool数组取反案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python对象与json相互转换的方法

    python对象与json相互转换的方法

    这篇文章主要介绍了python对象与json相互转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 学会python自动收发邮件 代替你问候女友

    学会python自动收发邮件 代替你问候女友

    这篇文章主要为大家详细介绍了python实现自动收发邮件,代替你问候女友,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Python堆栈的具体使用

    Python堆栈的具体使用

    本文主要介绍了Python堆栈的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • 浅谈python配置与使用OpenCV踩的一些坑

    浅谈python配置与使用OpenCV踩的一些坑

    下面小编就为大家分享一篇浅谈python配置与使用OpenCV踩的一些坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python PyCryptodome库介绍与实例教程

    Python PyCryptodome库介绍与实例教程

    PyCryptodome提供了丰富的加密功能,可以满足多种安全需求,本文介绍了几个常见的使用场景,包括对称加密、非对称加密、哈希函数和消息认证码,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • 聊聊Pytorch torch.cat与torch.stack的区别

    聊聊Pytorch torch.cat与torch.stack的区别

    这篇文章主要介绍了Pytorch torch.cat与torch.stack的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python:HDF和CSV存储优劣对比分析

    python:HDF和CSV存储优劣对比分析

    这篇文章主要介绍了python:HDF和CSV存储优劣对比分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python中TCP协议的探索与实例解析

    Python中TCP协议的探索与实例解析

    网络编程在当今数字化世界中扮演着至关重要的角色,本文将带你深入了解 Python 中的 TCP 协议,介绍网络编程的基础知识,并提供丰富的示例代码,希望对大家有所帮助
    2023-12-12

最新评论