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执行路径即可

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

相关文章

  • Python selenium find_element()示例详解

    Python selenium find_element()示例详解

    selenium定位元素的函数/方法可以分为两类:find_element及find_elements,下面这篇文章主要给大家介绍了关于Python selenium find_element()的相关资料,需要的朋友可以参考下
    2022-07-07
  • 如何在Python中隐藏和加密密码示例详解

    如何在Python中隐藏和加密密码示例详解

    Maskpass是一个类似getpass的Python库,但是具有一些高级功能,比如掩蔽和显示,下面这篇文章主要给大家介绍了关于如何在Python中隐藏和加密密码的相关资料,需要的朋友可以参考下
    2022-02-02
  • Python2随机数列生成器简单实例

    Python2随机数列生成器简单实例

    这篇文章主要介绍了Python2随机数列生成器,结合简单实例形式分析了Python基于random模块操作随机数的相关实现技巧,需要的朋友可以参考下
    2017-09-09
  • Python搭建代理IP池实现获取IP的方法

    Python搭建代理IP池实现获取IP的方法

    这篇文章主要介绍了Python搭建代理IP池实现获取IP的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 解决matplotlib.pyplot在Jupyter notebook中不显示图像问题

    解决matplotlib.pyplot在Jupyter notebook中不显示图像问题

    这篇文章主要介绍了解决matplotlib.pyplot在Jupyter notebook中不显示图像问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python实现的文本对比报告生成工具示例

    Python实现的文本对比报告生成工具示例

    这篇文章主要介绍了Python实现的文本对比报告生成工具,涉及Python基于difflib模块实现对文本内容进行对比的相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • Python实现多路视频多窗口播放功能

    Python实现多路视频多窗口播放功能

    这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下
    2025-02-02
  • Python实现图片批量加入水印代码实例

    Python实现图片批量加入水印代码实例

    这篇文章主要介绍了Python实现图片批量加入水印代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python3爬虫学习入门教程

    Python3爬虫学习入门教程

    这篇文章主要介绍了Python3爬虫学习入门,简单介绍了Python3爬虫的功能、原理及使用爬虫爬取知乎首页相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • Python用Bottle轻量级框架进行Web开发

    Python用Bottle轻量级框架进行Web开发

    这篇文章主要介绍了Python用Bottle轻量级框架进行Web开发的相关资料,需要的朋友可以参考下
    2016-06-06

最新评论