python + pyqt5+pycharm环境加打包问题

文章目录

  • 基础环境
  • qt环境
  • pycharm 环境,扩展工具
        • 第一个:生成 ui
        • 第二个:把ui转成py
        • 第三个。把qrc转成py
  • pyinstaller打包问题,
  • Qt官方的安装包制作框架 Qt installer framework

基础环境

anaconda
pyqt5
pycharm

qt环境

conda install PyqQt5
pip install pyqt5-tools
conda install pyinstaller

pycharm 环境,扩展工具

链接
路径看着图自己找找

第一个:生成 ui

python + pyqt5+pycharm环境加打包问题_第1张图片

第二个:把ui转成py

python + pyqt5+pycharm环境加打包问题_第2张图片

第三个。把qrc转成py

python + pyqt5+pycharm环境加打包问题_第3张图片

pyinstaller打包问题,

使用-w参数是无法正常运行,打开调试信息
解决链接
https://blog.csdn.net/zwyact/article/details/99778898
在主程序中pyqt5库import之前就对系统变量进行手动设置,import代码如下:

import sys, os
if hasattr(sys, 'frozen'):
    os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

Qt官方的安装包制作框架 Qt installer framework

我的安装路径 D:\Qt\QtIFW-3.1.0\

下载地址:http://download.qt.io/official_releases/qt-installer-framework
文档说明:一,二,三。这是官方文档的翻译。
安装文档路径: D:\Qt\QtIFW-3.1.0\doc\html\index.html,

现在已经通过pyinstaller -w main.py生成结果目录dist。目录下存在一个以main命名的目录,这个就是需要生成的安装包数据。
在dist目录下新建Qt installer framework安装包目录结构,例

lzcTool				这个是自己起的
	\config
		config.xml
	\packages
		\toolname	这个是自己起的
			\data	这个是固定的,把pyinstaller生成的dist目录下的文件重命名拷贝到这里就可以
			\meta	
				package.xml
				installscript.qs

将目录dist下的main重命名为 lzcTool/packages/toolname/data

在dist目录下执行命令
D:\Qt\QtIFW-3.1.0\bin\binarycreator.exe -c config/config.xml -p packages delEmptyDirInstall.exe -v
生成delEmptyDirInstall.exe文件。

在上传lzcTool目录中的参数查找查文档。

需要说明的是installscript.qs文件,添加开始菜单和桌面快捷方式。

 if (systemInfo.productType === "windows") {
    component.addOperation("CreateShortcut", "@TargetDir@/main.exe", "@StartMenuDir@/delEmtpyDir.lnk",
        "workingDirectory=@TargetDir@", "iconPath=@TargetDir@/images/favicon.ico",
        "iconId=2", "description=可执行程序");
	//开始菜单安装向导
	component.addOperation("CreateShortcut", "@TargetDir@/main.exe", "@DesktopDir@/delEmtpyDir.lnk",
        "workingDirectory=@TargetDir@", "iconPath=@TargetDir@/images/favicon.ico",
        "iconId=2", "description=delEmtpyDir"); 
	//开始菜单安装向导
	component.addOperation("CreateShortcut", "@TargetDir@/lzcTenanceTool.exe", "@StartMenuDir@/lzcTenanceTool.lnk",
        "workingDirectory=@TargetDir@", "description=向导管理");
}

你可能感兴趣的:(qt)