首先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. Win10 TensorFlow(gpu)安装详解
  2. 新闻 | 聚焦技术领域现状与发展阿里巴巴知识图谱专场亮相云栖大会 阿里知识图谱亮相云栖大会产学深度交流推进业务创新
  3. react setState里的作用域
  4. 3.9 训练一个 Softmax 分类器
  5. mysql基础操作(二)
  6. Favorites整理v2011
  7. C语言:编写函数,通过一个指针将一个字符串反向
  8. Oracle SQL篇(四)group by 分组与分组的加强 rollup
  9. KVM 介绍(3):I/O 全虚拟化和准虚拟化 [KVM I/O QEMU Full-Virtualizaiton Para-virtualization]
  10. Windows环境搭建Red5流媒体服务器指南
  11. js批量下载图片并压缩打包
  12. SnapGene快速入门,界面及常用操作教程
  13. JAVA操作Excel 可配置,动态 生成复杂表头 复杂的中国式报表表头
  14. 30天学习一部无字幕美剧-《老友记》
  15. 使用Google镜像构建工具Jib报错:No plugin found for prefix 'jib' ...
  16. 计算机没有有效的ip配置,win7电脑没有有效的ip配置怎么办
  17. arcgis 线自动构面的方法一例
  18. 南卫理公会计算机官网,南卫理工会大学
  19. 石墨笔记,Ulysses和Effie哪个更适合学生?
  20. 【时间复杂度】时间复杂度

热门文章

  1. 说走就走的旅行?你需要一个旅行必备清单
  2. 推荐一款可以替代 Postman 的国产 api 管理工具 apipost
  3. nc 流程开发-业务流-推单
  4. 重装完centos6.5后没有网卡驱动的解决方法
  5. 日本:缺陷美女颠覆风潮
  6. 双摄方案android,双摄手机都在用,但双摄有几种类型你知道吗?
  7. g30如何做raid i620_I620-G30
  8. 6-3 在数组中查找指定元素 (15 分)
  9. nuwa创建新进程源码分析
  10. 企业微信发布,看Saas产品的破局与增长逻辑