文档章节

pyqt程序发布

tianhuaban
 tianhuaban
发布于 2016/10/05 10:22
字数 615
阅读 104
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

最近用python开发了一个基于smartQQ的多QQ登录工具,需要打包发布。折腾了一天总算是用pyinstall搞好了。官方的教程说的很详细,这里主要说一说会遇到的坑。 主要步骤其实就是三步

  • 生成spec文件
  • 修改spec配置
  • 打包

以下是具体的说明:

  1. pyinstaller的安装 pip install pyinstaller就行了,但是在windows下是需要安装pywin32的。此外,还需要编译器mingw或者是visual studio都行。
  2. 源代码的结构 单文件或者多文件都行,pyinstaller的做法是不管你有什么在里面全部都给你放进去,说明在这里
  3. spec文件 直接用cmd切换目录到源代码的根目录下,运行一下pyi-makespec [主文件].py。注意这里的主文件指的是程序的入口,如果你是pyqt的程序一般都有一个启动主要界面的源文件。运行这个命令能够在当前文件下生成[主文件].spec文件。
  4. 修改spec文件 这个spec文件可以控制程序发布的内容,这里提一下一些常用的。 第一个是库依赖的问题,直接使用pyi-makespec生成的spec文件能够成功打包,但是会提示six找不到,以下是手动修改hiddenimports选项。
hiddenimports=['six','packaging', 'packaging.version', 'packaging.specifiers'],

第二个是icon的指定,这里需要说明一下。程序icon的显示其实出现在两个地方一个是程序界面的左上角那里,还有一个是程序在任务栏里面显示的图标。前者是在pyqt源代码里面指定的,而后者需要自己在exe = EXE()里面指定,新增加一个icon字段,指向ico的路径就行。 第三个是文件的收集,为了使pyinstaller收集当前目录下的全部文件需要指定收集的路径,方法是在Collect中的exe参数后面增加一个参数Tree("源代码根目录")。

coll = COLLECT(exe, Tree("path/to/source"),
    a.binaries,
    ....
)

第四个是终端的启动问题,默认的spec会使程序在运行的时候打开一个终端,这个可以在EXE里面将console设置为0就可以了。 5. 打包pyqt程序 pyinstaller [main].spec 写了这么多,其实是想给大家安利一下pyinstaller,打包起来很简单,赶紧试试吧。

© 著作权归作者所有

tianhuaban
粉丝 2
博文 6
码字总数 4712
作品 0
长沙
程序员
私信 提问
加载中

评论(0)

PyQt 4.7.7 发布, Qt库的Python绑定

PyQt是Python是Qt库的 Python绑定。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。它的首次发布也是在1998年,但是当时它叫 PyKDE,因为开始的时候SIP和PyQt没有分开。PyQt是用SIP写的。PyQt遵从奇趣的...

红薯
2010/09/22
626
0
PyQt 4.8.5 发布

PyQt是Qt库的Python版本。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。它的首次发布也是在1998年,但是当时它叫 PyKDE,因为开始的时候SIP和PyQt没有分开。PyQt是用SIP写的。PyQt遵从奇趣的许可模式,...

红薯
2011/08/11
1.7K
4
PyQt(Python+Qt)学习随笔

老猿Python博文目录 老猿Python博客地址 PyQt学习随笔 PyQt(Python+Qt)帮助文档官网及文档下载 PyQt(Python+Qt)学习随笔:PyQt帮助文档导入assistant后离线查阅 随笔分类: 第一部分 Qt Des...

osc_2snvc4af
2019/09/28
41
0
PyQt 4.7.5 发布

PyQt是Python是Qt库的Python绑定。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。它的首次发布也是在1998年,但是当时它叫 PyKDE,因为开始的时候SIP和PyQt没有分开。PyQt是用SIP写的。PyQt遵从奇趣的许...

鉴客
2010/09/01
848
1
PyQt 4.8.6 发布,Qt 的 Python 版本

PyQt 4.8.6 发布了,这是一个很小的 bug 修复版本。 PyQt是Qt库的Python版本。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。它的首次发布也是在1998年,但是当时它叫 PyKDE,因为开始的时候SIP和PyQt没...

红薯
2011/11/01
1.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

比较好用的自媒体分发工具是哪个?

正是源于互联网生态的健康发展,从15年开始到现在,自媒体文化产业特别有关注度,其品牌形象鲜明、优秀的转化能力的数不胜数的亮点,故而吸引着数不清的创作者,而为了达到更出彩的播放量,这...

易媒助手
今天
38
0
idea2020.1 pojie

前几天最新版的idea2020.1终于发布了,它有多香相信小伙伴们已经有所耳闻。现在就拿出来分享给小伙伴们。   所需要的的东西放在这里了,同时里面也放了一个idea2020.1,小伙伴可以选择性的...

我喜欢你有用吗__
今天
32
0
从企业微信机器人到小爱同学,用 Serverless 实现生活智能化!

通过定时触发器,可以简单快速地定制一个企业微信机器人。我们可以用它来实现喝水、吃饭提醒等小功能,还能实现定时推送新闻、天气,甚至是监控告警的小功能。 使用企业微信机器人 在企业微信...

腾讯云Serverless
今天
32
0
socket编程基础,从了解到实现

java生下来一开始就是为了计算机之间的通信,因此这篇文章也将开始介绍一下java使用socket进行计算机之间的通信,在上一篇文章中已经对网络通信方面的基础知识进行了总结,这篇文章将通过代码...

虹越云霄
今天
41
0
Spring Enable***功能

spring博大精深,衍生出了两大系列:spring boot 和sping cloud快速业务开发模式。 我们进行具体开发时,经常看到这样以Enable*开头的注解,如图 等等好多例子。。。框架自带的Enable* @En...

董广明
今天
41
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部