脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - PyInstaller如何打包依赖文件至目标程序目录

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

2022-09-19 15:54高处欲乘风 Python

这篇文章主要介绍了PyInstaller如何打包依赖文件至目标程序目录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

问题

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

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

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

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

 

解决办法

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

配置文件重点部分内容:

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

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

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

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

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

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

 

pyinstaller打包exe有依赖文件

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

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

原文链接:https://blog.csdn.net/lemon4869/article/details/107359364

延伸 · 阅读

精彩推荐
  • Python简单了解python单例模式的几种写法

    简单了解python单例模式的几种写法

    这篇文章主要介绍了简单了解python单例模式的几种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    FOOFISH-PYTHON之禅4872021-07-27
  • Pythonvirtualenv实现多个版本Python共存

    virtualenv实现多个版本Python共存

    virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:1. 在没有权限的情况下安装新套件 2. 不同应用可以使用不同的套件版本 3. 套件...

    听城3742020-12-03
  • Python面向初学者的Python编辑器Mu

    面向初学者的Python编辑器Mu

    今天小编就为大家分享一篇关于一个面向初学者的Python编辑器Mu,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小...

    Don Watkins6022021-04-05
  • Pythonpycharm 解除默认unittest模式的方法

    pycharm 解除默认unittest模式的方法

    今天小编就为大家分享一篇pycharm 解除默认unittest模式的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    weixin_369762188602021-04-23
  • Python对TensorFlow的assign赋值用法详解

    对TensorFlow的assign赋值用法详解

    今天小编就为大家分享一篇对TensorFlow的assign赋值用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    mustar_20179802021-03-23
  • Pythonpycharm2021激活码使用教程(永久激活亲测可用)

    pycharm2021激活码使用教程(永久激活亲测可用)

    pycharm2021激活码是一个可以轻松帮助用户免费激活pycharm2021.1软件的文件,虽然说pycharm现在只是推出了2021.1的EAP版,但是如果你想先率先体验一波,那么就可...

    shangke40152021-09-29
  • Pythonpython之OpenCV的作用以及安装案例教程

    python之OpenCV的作用以及安装案例教程

    这篇文章主要介绍了python之OpenCV的作用以及安装案例教程,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...

    Holidaylovesam12182021-12-14
  • PythonPython退火算法在高次方程的应用

    Python退火算法在高次方程的应用

    退火算法就是钢铁在淬炼过程中失温而成稳定态时的过程,热力学上温度(内能)越高原子态越不稳定。这篇文章主要介绍了Python退火算法在高次方程的应...

    puppet洛洛11652021-03-22