PyInstall的安装,使用,以及最后打包成一个exe文件
首先PyInstall安装
pip3 install pyinstaller -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
打包常用命令
pyinstaller -w -F test.py
-w 表示运行exe文件后不出现cmd命令窗口
-F 表示打包成一个单独的exe文件
使用命令后会生成两个文件夹。
生成的exe文件会存放在dist文件夹下面。并且生成的同目录级别的spec是中间文件,不用太关心。
打包成单个exe文件,并包含其它静态资源
这块可是费劲心思,采用了很多方法都以失败告终。我以最简单的方式来解释。最后的最后讲原理。
我们先生成上面讲到的中间文件 .spec
pyi-makespec XXXXX.py
你看我这里需要的静态资源放在 resources目录下
这时候,修改中间文件,.spec,添加datas里面的数据,把当前目录的resources文件夹的内容 包含进去,命名为 resources。
同时也要注意修改console=False防止出现黑窗口
那我们代码应该怎么使用呢?保证打包前和打包后都能正常运行
我引用路径是这么引用的
添加了resource_path方法如下
def resource_path(relative_path):if getattr(sys, 'frozen', False): #是否Bundle Resourcebase_path = sys._MEIPASSelse:base_path = os.path.abspath(".")return os.path.join(base_path, relative_path)
原理解释:
我们打包生成前后,os.path.join方法指向的路径是不一样的。
打包前,是本地路径下的resources路面
打包后,是C:\Users\dell\AppData\Local\Temp_MEI443002下的resources目录
默认我们在打包后,C:\Users\dell\AppData\Local\Temp_MEI443002后是不存在我们自己静态资源resources目录的。
但是修改了中间文件.spec后,讲datas中添加了 我们本地的resources目录。于是我们运行exe后,它会自己在C:\Users\dell\AppData\Local\Temp_MEI443002下生成一个我们打包前引入的resources目录。于是运行单个exe后,也会包含我们自己定义的静态资源。
PyInstall的安装,使用,以及最后打包成一个exe文件相关推荐
- 使用vs2019和pyinstaller将py文件打包成一个exe文件(含图标),pyinstaller安装失败解决方案
1.什么是pyinstaller 参见这篇文章: https://gwj1314.blog.csdn.net/article/details/79775764 PyInstaller是一款可以把py解 ...
- 用py2exe打包成一个exe文件
一.简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2ex ...
- 打包SWF和HTML,将多个swf打包成一个EXE文件
在制做一个flash时常常有文件种需导入其它swf文件的情况,这种情况使用flash player打包成EXE文件时,无法将附带的swf文件打进去,这给文件的复制带来了不便.如何将多个swf文件打成一 ...
- nw.js项目用nsis打包成一个exe文件的坑
nsis把nw.js整个项目编译成一个exe包,可以实现分发给客户时,可以给用户更好的体验,但是隐藏着一个坑.也可以说是nw.js本身存在的坑.由于nw.js是基于node.js和chromium的应 ...
- python打包成二进制文件_pyinstall python文件打包成二进制exe文件
pycharm + python3 + win7 1 pip install pyinstall (官网) 2 准备 .py 文件 3 具体例子 from PyQt5.QtWidgets impor ...
- winform把所有dll打包成一个exe
大家都知道做winform开发,是可以利用visual studio进行打包的,但是这种打包的方式需要双击安装,那么有没有什么方法,可以把winform程序打包成绿色版呢?当然,这里的"绿色 ...
- Python selenium —— 将你的自动化脚本打包成一个exe
写好了Python selenium脚本,到其他机器上运行,还得要在其他机器上也装一套Python的环境,尤其在你用了一些第三方库的时候,甚至还要顾及操作系统是32位还是64位,是不是很坑,如果能打成 ...
- 如何将cocos2d-x项目打包成一个.exe
今天在CSDN上看到了一片有趣的博文,没错,他还是关于cocos2d-x的,但不同之处是,这会正对的不是ios又或安卓,而是我们最熟悉的windows,他教会了我如何将一个cocos2d-x编译后产生 ...
- 多个exe打包成一个exe安装程序,安装后可一键启动多个服务
博客帮助我解决了很多问题,于是想把自己遇到的问题记录下来希望对他人有所帮助.有些帖子写得很是简单,一旦忽略了某个关键细节,就可能看不懂了,就要花费更多的时间才能解决问题或者另寻良方,所以我自己尽可能写 ...
最新文章
- 关于数据的级联删除和更新
- 【GANs入门】pytorch-GANs任务迁移-单个目标(数字的生成)
- 解决IDEA2020.1版本不兼容Lombok的问题
- Linux网络编程 之 套接字(四)
- 在SQL Server2005中进行错误捕捉
- 表格列求和_excel表格制作,Excel表格的基本操作,包含制作一个表格10方面的知识...
- 计算机组成原理r型指令logisim实现_大学本科计算机科学与技术专业知识体系
- 数据结构学习笔记:变位词侦测案例
- inline函数的用法
- python mac地址_如何使用Python生成MAC地址
- 基于python的数据挖掘实验报告_数据挖掘实验报告
- 云计算及其支撑技术简介
- UVA 1212 - Duopoly(最小割)
- matlab2017百度百科,沸石粉里的吸蓝量是什么意思
- python调用系统本地程序
- 表观转录组学-m6A简介
- 计算机win10分区软件,如何利用Win10系统DiskPart工具进行GPT硬盘分区
- R5S RK3568运行安卓12搭配即插即用免驱免拨号的4G LTE模组测速演示
- User Exit for MIGO after SAVE
- 【技术综述】人脸算法新热点,人脸编辑都有哪些方向,如何学习
热门文章
- Java版种子推荐_2个跨度极大特性种子,各大Java版都适用
- 微信小程序版学生管理系统演示(一)
- common commands
- Kindle——电子书格式(一)
- 让宝宝更聪明的40个日常培养方法
- 7-74 三角形判断 (15 分) 给定平面上任意三个点的坐标(x1,​​ y1)、(x2,​​ y2)、(x3,​​ y3),检验它们能否构成三角形。PTA:中M2021春C、Java入门练习第I段
- 【2020年】最新中国科学院大学学位论文写作规范
- 【笔记】【机器学习基础】网格搜索
- contains 忽略大小写
- 个人创业,是先找客户还是先做产品?