Python PyQt5 之常用命令和技巧


虽然 Python 通常情况下被用来写脚本、自动化程序比较多,但是有时候做GUI开发的时候也可以是一个首选,引入 PyQT5 模块包用简洁的代码就可以编写出一个跨平台的桌面程序,下面是我整理的一些常用的 Python PyQt5 的命令。

安装PyQt5 python3 -m pip install PyQt5

安装PyQt5-tools python3 -m pip install PyQt5-tools

安装打包工具 python3 -m pip install Pyinstaller

UI转Python代码 pyuic5 -o Ui_mainWindow.py mainWindow.ui

资源文件转Py文件 pyrcc5 -o res_rc.py res.qrc

打包程序 pyinstaller -F -w --i "C:\\Users\\Suroy\\Desktop\\Suroy.ico" main.py

  • 常用 PIP 源

使用方法: pip install jupyter notebook -i https://pypi.tuna.tsinghua.edu.cn/simple

(1)阿里云
http://mirrors.aliyun.com/pypi/simple/

(2)豆瓣
http://pypi.douban.com/simple/

(3)清华大学
https://pypi.tuna.tsinghua.edu.cn/simple/

(4)中国科学技术大学
http://pypi.mirrors.ustc.edu.cn/simple/

(5)华中科技大学
http://pypi.hustunique.com/

  • 打包好的文件比较大?

1、规范导入包
使用 from xxx import xxx
拒绝使用 import xxx

2、虚拟环境打包
极力推荐,这个是缩小安装包的首选。
这里使用工具是virtualenv,这个是什么东东请自行百度。

C:UsersAdministratorDesktopvenv>virtualenv --no-site-packages venv
我们先建立一个虚拟开发环境,这里使用参数“—no-site-packages”,已经安装到系统Python环境中的所有第三方包都不会复制过来,得到的Python运行环境较为干净。

进入我们虚拟开发环境

C:UsersAdministratorDesktopvenv>cd Scripts
C:UsersAdministratorDesktopvenvScripts>activate
(venv) C:UsersAdministratorDesktopvenvScripts>
出现(venv)这个,表示成功进入。

因为我们这个程序只涉及PyQt5,其它的都是标准模块,所以我们pip安装PyQt5和PyInstaller。

2、增加upx打包
UPX是一种适用于大多数操作系统的免费实用程序。 UPX压缩可执行文件和库,使它们更小。

UPX适用于大多数操作系统,可以压缩大量可执行文件格式。有关下载的信息,请参阅UPX主页,以及支持的可执行格式列表。

https://upx.github.io/

下载页面:

https://github.com/upx/upx/releases/tag/v3.95

压缩的可执行程序包含在UPX启动代码中,该代码在程序启动时动态解压缩程序。解压缩后,程序正常运行。对于已经UPX压缩的PyInstaller单文件可执行文件,完整的执行顺序是:

压缩程序在UPX解压缩器代码中启动。

解压缩后,程序执行PyInstaller引导加载程序,为Python创建临时环境。

Python解释器执行您的脚本。

PyInstaller在执行路径或使用—upx-dir选项指定的路径上查找UPX。如果存在UPX,PyInstaller会将其应用于最终的可执行文件,除非给出了—noupx选项。 UPX经常与PyInstaller输出一起使用,通常没有任何问题。

执行命令如下:

pyinstaller -F -w --i "C:\\Users\\Suroy\\Desktop\\fav.ico" --upx-dir "C:\\upx" main.py

打包后大约24MB左后,但是运行时报错:Qt platforms plugin

缺少Qt组件无法正常启动,提示需要有Qt platforms plugin,于是我们来到…Python36Libsite-packagesPyQt5Qtpluginsplatforms 这个文件夹,把这个文件夹拷贝到和.exe文件一个路径下,出现想要的程序了。

声明:Grows towards sunlight |版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Python PyQt5 之常用命令和技巧


Grows towards sunlight and Carpe Diem