首先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文件相关推荐

  1. 使用vs2019和pyinstaller将py文件打包成一个exe文件(含图标),pyinstaller安装失败解决方案

    1.什么是pyinstaller 参见这篇文章: https://gwj1314.blog.csdn.net/article/details/79775764 PyInstaller是一款可以把py解 ...

  2. 用py2exe打包成一个exe文件

    一.简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2ex ...

  3. 打包SWF和HTML,将多个swf打包成一个EXE文件

    在制做一个flash时常常有文件种需导入其它swf文件的情况,这种情况使用flash player打包成EXE文件时,无法将附带的swf文件打进去,这给文件的复制带来了不便.如何将多个swf文件打成一 ...

  4. nw.js项目用nsis打包成一个exe文件的坑

    nsis把nw.js整个项目编译成一个exe包,可以实现分发给客户时,可以给用户更好的体验,但是隐藏着一个坑.也可以说是nw.js本身存在的坑.由于nw.js是基于node.js和chromium的应 ...

  5. python打包成二进制文件_pyinstall python文件打包成二进制exe文件

    pycharm + python3 + win7 1 pip install pyinstall  (官网) 2 准备 .py 文件 3 具体例子 from PyQt5.QtWidgets impor ...

  6. winform把所有dll打包成一个exe

    大家都知道做winform开发,是可以利用visual studio进行打包的,但是这种打包的方式需要双击安装,那么有没有什么方法,可以把winform程序打包成绿色版呢?当然,这里的"绿色 ...

  7. Python selenium —— 将你的自动化脚本打包成一个exe

    写好了Python selenium脚本,到其他机器上运行,还得要在其他机器上也装一套Python的环境,尤其在你用了一些第三方库的时候,甚至还要顾及操作系统是32位还是64位,是不是很坑,如果能打成 ...

  8. 如何将cocos2d-x项目打包成一个.exe

    今天在CSDN上看到了一片有趣的博文,没错,他还是关于cocos2d-x的,但不同之处是,这会正对的不是ios又或安卓,而是我们最熟悉的windows,他教会了我如何将一个cocos2d-x编译后产生 ...

  9. 多个exe打包成一个exe安装程序,安装后可一键启动多个服务

    博客帮助我解决了很多问题,于是想把自己遇到的问题记录下来希望对他人有所帮助.有些帖子写得很是简单,一旦忽略了某个关键细节,就可能看不懂了,就要花费更多的时间才能解决问题或者另寻良方,所以我自己尽可能写 ...

最新文章

  1. 关于数据的级联删除和更新
  2. 【GANs入门】pytorch-GANs任务迁移-单个目标(数字的生成)
  3. 解决IDEA2020.1版本不兼容Lombok的问题
  4. Linux网络编程 之 套接字(四)
  5. 在SQL Server2005中进行错误捕捉
  6. 表格列求和_excel表格制作,Excel表格的基本操作,包含制作一个表格10方面的知识...
  7. 计算机组成原理r型指令logisim实现_大学本科计算机科学与技术专业知识体系
  8. 数据结构学习笔记:变位词侦测案例
  9. inline函数的用法
  10. python mac地址_如何使用Python生成MAC地址
  11. 基于python的数据挖掘实验报告_数据挖掘实验报告
  12. 云计算及其支撑技术简介
  13. UVA 1212 - Duopoly(最小割)
  14. matlab2017百度百科,沸石粉里的吸蓝量是什么意思
  15. python调用系统本地程序
  16. 表观转录组学-m6A简介
  17. 计算机win10分区软件,如何利用Win10系统DiskPart工具进行GPT硬盘分区
  18. R5S RK3568运行安卓12搭配即插即用免驱免拨号的4G LTE模组测速演示
  19. User Exit for MIGO after SAVE
  20. 【技术综述】人脸算法新热点,人脸编辑都有哪些方向,如何学习

热门文章

  1. Java版种子推荐_2个跨度极大特性种子,各大Java版都适用
  2. 微信小程序版学生管理系统演示(一)
  3. common commands
  4. Kindle——电子书格式(一)
  5. 让宝宝更聪明的40个日常培养方法
  6. 7-74 三角形判断 (15 分) 给定平面上任意三个点的坐标(x1,​​ y1)、(x2,​​ y2)、(x3,​​ y3),检验它们能否构成三角形。PTA:中M2021春C、Java入门练习第I段
  7. 【2020年】最新中国科学院大学学位论文写作规范
  8. 【笔记】【机器学习基础】网格搜索
  9. contains 忽略大小写
  10. 个人创业,是先找客户还是先做产品?