前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Pyinstaller如何将资源文件一起打包至exe中

Pyinstaller如何将资源文件一起打包至exe中

作者头像
hbbliyong
发布于 2018-10-09 08:05:06
发布于 2018-10-09 08:05:06
3.7K00
代码可运行
举报
文章被收录于专栏:hbbliyonghbbliyong
运行总次数:0
代码可运行

基本原理:Pyinstaller 可以将资源文件一起bundle到exe中,当exe在运行时,会生成一个临时文件夹,程序可通过sys._MEIPASS访问临时文件夹中的资源

官方说明:https://pythonhosted.org/PyInstaller/spec-files.html#spec-file-operation

测试案例功能描述,访问资源文件夹res/a.txt,并打印其内容。实现方法如下:

源码如下,比较简单,resource_path方法说明了如何使用sys._MEIPASS变量来访问临时文件夹中的资源

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sys
import os

#生成资源文件目录访问路径
def resource_path(relative_path):
    if getattr(sys, 'frozen', False): #是否Bundle Resource
        base_path = sys._MEIPASS
    else:
        base_path = os.path.abspath(".")
    return os.path.join(base_path, relative_path)

#访问res文件夹下a.txt的内容
filename = resource_path(os.path.join("res","a.txt"))
print(filename)
with open(filename) as f:
    lines = f.readlines()
    print(lines)
    f.close()

结下来介绍如何生成exe

首先需要生成spec文件,pyi-makespec -F test.py (如果要添加Icon等可以在这里就使用pyi-makespec --icon abc.jpg -F test.py语句生成spec文件)

 编辑spec文件,在datas选项中说明需要将哪些文件加入exe,在零时文件夹中命名成什么

以下图为例,意思将test.py当前目录下的res目录(及其目录中的文件)加入目标exe中,在运行时放在零时文件的根目录下,名称为res

 生成EXE文件,pyinstaller -F test.spec

运行生成的EXE,可以看到资源生成的临时文件夹路径

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用pyinstaller将python脚本打包成exe文件
安装需要用到pip工具,该工具在3.5版本的python中已经自带不用另行安装,但是需要在系统变量中添加python下的Scripts文件夹,如下图: 
晓歌
2018/08/15
2K0
使用pyinstaller将python脚本打包成exe文件
Python如何将py文件打包成exe[通俗易懂]
打开cmd窗口,输入pip install pyinstaller,命令行输出successfully表示成功。
全栈程序员站长
2022/09/08
2.6K0
pyinstaller打包exe应用程序【乘法计算过程演示】
参考:https://blog.csdn.net/tm_yuyue/article/details/130472040
Michael阿明
2023/08/09
1860
pyinstaller打包exe应用程序【乘法计算过程演示】
Python|python文件打包实战之进阶篇
在上周的文章中,小编给大家讲了python gui编程,做了一个有趣的“消息轰炸机”,如果想发给朋友用怎么办呢?所以今天,小编就通过实战来让大家学会用pyinstaller打包带有资源文件的python文件。
算法与编程之美
2020/05/19
5820
Python|python文件打包实战之进阶篇
pyinstaller .py转可执行文件exe打包后路径|python
1 sys.path[0]  目录 2 sys.argv[0]  程序目录+文件名 3 os.path.dirname(os.path.realpath(sys.executable)) 父目录 4 os.path.dirname(os.path.realpath(sys.argv[0]))  同(3)
zmh-program
2023/02/06
1.5K0
hexo图片上传
现在上传图片已经不再需要导入模块我的理解是这样的 比如说你要导入一个名字为a.jbg的图片就可以直接
用户8447427
2022/08/18
3.1K0
hexo图片上传
使用图形化界面将Python脚本转换成可执行文件
通过将Python脚本转换为可执行文件,可以将其发送给需要的人,以便在他们的计算机上运行,即使他们没有安装Python。
fanjy
2022/04/13
1.1K0
使用图形化界面将Python脚本转换成可执行文件
PyInstaller 打包 pytho
主题是使用PyInstaller 打包python时遇到一些问题以及解决方案,其中将要打包的程序是用tensorflow做的LSTM算法,这里不会涉及这个算法详解。
py3study
2020/01/19
1.3K0
pycharm安装pyqt5-tools_pycharm如何导入pygame模块
2.因为我用来写了一个串口工具,所以代码很多,就不贴了,外加一个用pyqt 画的一个界面
全栈程序员站长
2022/09/27
5680
pycharm安装pyqt5-tools_pycharm如何导入pygame模块
如何将Python版「羊了个羊」打包成exe文件
2. pyi-makespec 命令生成 .spec 打包配置文件,并指定 --collect-all(包含所需模块)、-F(单文件模式) -w(无命令行窗口)
Crossin先生
2023/11/07
5290
如何将Python版「羊了个羊」打包成exe文件
最详细的Python打包工具:Pyinstaller实战指南,如丝滑般体验
⚠️注意了:你要编译成exe,建议你省心点的在windows上用pyinstaller,如果你要mac app的,那就用mac编译。
一墨编程学习
2019/05/15
4.5K0
Python源文件打包成可执行的exe应用,给你的代码变个身!
我们平常所写的程序一般都是在编译环境下运行的,然而这对于那些没有开发环境或者对程序一无所知的小白就很不友好了,
灰小猿
2020/09/23
1.8K0
Python源文件打包成可执行的exe应用,给你的代码变个身!
Pyinstaller打包exe附带图片的方法
在最近的wordpress项目中学到了图片字节码可在文件中存在,于是我做了试验并成功了(就是代码里带一堆字节码……)
全栈程序员站长
2022/07/02
2.8K0
Pyinstaller打包exe附带图片的方法
PyInstaller打包python程序为exe可执行文件
教程千千万,貌似我的window电脑就是打包不了,而且不同电脑的表现都不一致,很是奇怪。
悟乙己
2023/11/26
1.8K0
PyInstaller打包python程序为exe可执行文件
在pycharm中如何使用anaconda环境进行编辑_pycharm中导入pygame
2. 将pyinstaller tool加入到pycharm的 extern tool中
全栈程序员站长
2022/09/27
2.4K0
在pycharm中如何使用anaconda环境进行编辑_pycharm中导入pygame
快速将多个py文件及其他文件打包为exe可执行文件
最近在学习PYQT5,感觉还挺有趣的,顺便记录一下自己的打包记录,也就当学习笔记啦,如果刚好也在学习python打包的小伙伴可以学一学哦。
用户7656790
2022/06/13
2.4K0
快速将多个py文件及其他文件打包为exe可执行文件
pycharm怎么打包成exe文件_pycharm怎么保存py文件
打包程序前提要安装pyinstaller:(如果本文档下面要使用那些命令使用不了的话建议卸载pyinstaller再返回这一步使用命令行再装一次)
全栈程序员站长
2022/09/27
1.1K0
pycharm怎么打包成exe文件_pycharm怎么保存py文件
Python3快速入门(十八)——PyI
PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序。 PyInstaller 制作出来的执行文件并不是跨平台的,如果需要为不同平台打包,就要在相应平台上运行PyInstaller进行打包。
py3study
2020/01/06
3.9K0
Python打包成 exe,太大了该怎么解决?
我猜你一定是用PyInstaller打包exe的,PyInstaller特点是将乱七八糟的东西打包一起,比如各种依赖库,即使你的程序只使用了pandas很小一个功能,比如read_data,它也会将整个pandas打包,这就导致出来的exe文件非常的大。
朱卫军 AI Python
2025/01/07
2970
Python打包成 exe,太大了该怎么解决?
Python打包成exe文件
python打包有这Py2exe和pyinstaller两种方式,但是py2exe比较老了
里克贝斯
2021/05/21
1.7K0
Python打包成exe文件
推荐阅读
相关推荐
使用pyinstaller将python脚本打包成exe文件
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文