PyQt5 安装商业版

2021-02-01 15:35:22 浏览数 (1)

对于Windows7上的Python2,需要如下工具:

  • visual studio
  • sip
  • Qt(SDK)

如果电脑上已经装有了PyQt4,建议再装一份Python。与原来的分开。

win7安装社区版Visual Studio

使用Visual Studio是为了它的编译工具和相关库。安装时选上Windows SDK。

对于VS2017来说,使用的是这个工具 “D:Microsoft Visual Studio2017CommunityCommon7ToolsVsDevCmd.bat” 开始-所有程序-Visual Studio 2017-Visual Studio Tools

vs安装路径 D:Microsoft Visual Studio 环境变量

代码语言:javascript复制
D:Microsoft Visual Studio2017CommunityVCToolsMSVC14.11.25503binHostx64x64;
D:Microsoft Visual Studio2017CommunityVCToolsMSVC14.11.25503lib;

Python2.7安装sip

win7 64位系统,但Python2.7是32位

下载sip源码包(例如sip-4.19.3),解压到任意位置。进入sip源码包,执行

代码语言:javascript复制
python configure.py

这里Python2.7安装在D:python27;于是sip位置在D:python27Libsite-packagessip-4.19.3

打开vs的命令行,进入sip在Python中的目录,执行

代码语言:javascript复制
nmake
nmake install

win7安装Qt5

到Qt官网下载安装包。为了照顾32位的Python2.7,这里选择Qt 5.6.3 for Windows 32-bit (VS 2015, 869 MB)

添加到环境变量中

代码语言:javascript复制
D:QtQt55.6.3msvc2015bin;D:QtQt5ToolsQtCreatorbin

win7编译安装商业版PyQt5

Python2.7

代码语言:javascript复制
python configure.py --disable QtNfc
nmake
nmake install

参考PyQt5的README

代码语言:javascript复制
COMMERCIAL VERSION

If you have the Commercial version of PyQt5 then you should also have a
license file that you downloaded separately.  The license file must be copied
to the "sip" directory before starting to build PyQt5.

我们把买来的license文件复制到sip目录下。

E:wsdocPyQtCommercialPyQt5_commercial-5.9中,把付费后得到的pyqt-commercial.sip复制到sip目录下

使用vs2017的命令行工具!

python configure.py出现错误

代码语言:javascript复制
Error: Use the --qmake argument to explicitly specify a working Qt qmake.

网上说是因为没有配置好Qt SDK的原因

可参考 PyQt setup for Qt 4.7.4

解决错误后,会提示是否接受license。根据提示输入yes。

执行python configure.py --disable QtNfc

代码语言:javascript复制
Querying qmake about your Qt installation...
Determining the details of your Qt installation...
This is the commercial version of PyQt 5.9 (licensed under the PyQt Commercial
License) for Python 2.7.13 on win32.

nmake报错 cannot open file “msvcprt.lib”

代码语言:javascript复制
fatal error LNK1104: cannot open file “msvcprt.lib”

把lib路径添加到环境变量 D:Microsoft Visual Studio2017CommunityVCToolsMSVC14.11.25503lib;

nmake报错 QtNfc.dll : fatal error LNK1169: one or more multiply defined symbols found

代码语言:javascript复制
releaseQtNfc.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
NMAKE : fatal error U1077: “"D:Microsoft Visual Studio2017CommunityVCTools
MSVC14.11.25503binHostX86x86link.EXE"”: 返回代码“0x491”
Stop.
NMAKE : fatal error U1077: “"D:Microsoft Visual Studio2017CommunityVCTools
MSVC14.11.25503binHostX86x86nmake.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.

网上有相关的建议,把QtNfc“取消”掉,其实就是不编译QtNfc。

E:wsdocPyQtCommercialPyQt5_commercial-5.9>python configure.py --disable QtNfc

http://python.6.x6.nabble.com/error-building-QtNfc-td5185657.html

nmake 需要一段时间。电脑比较差的话,大概要1个小时。 nmake install 耗时约5分钟

试运行PyQt5

导入PyQt5模块试一试

代码语言:javascript复制
from PyQt5.QtCore import QTranslator
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

对于Python2.7 PyQt5,使用pyinstaller来打包成exe文件

代码语言:javascript复制
pyinstaller ui_main.py

得到相应的文件目录

运行exe弹窗报错Qt platform plugin
代码语言:javascript复制
this application failed to start because it could not find or load the Qt platform plugin "windows" in ""
Reinstalling the application may fix this problem.

报错原因是找不到 Qt platform plugin 在Qt5,在安装目录下可找到 D:QtQt5ToolsQtCreatorbinpluginsplatforms 对于Python3,安装了GPL的PyQt5,可以找到 D:python35Libsite-packagesPyQt5Qtpluginsplatforms

处理方法: 不打包成一个单一的exe文件,使用pyinstaller ui_main.py生成文件目录 在dist中,与exe文件同级的目录PyQt5/qt/plugins中,有platforms目录 把platforms文件夹复制到与exe文件同级的位置即可

参考

How to install PyQt5 on Windows for Python 2?

编译安装PyQt5的过程

安装sip的建议

0 人点赞