python 3.4 vc++编译配置_PyQT5编译安装[Python3.6.1 + VS2013 + QT5.5]

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:https://blog..net/humanking7/article/details/80393070

先放资源

问题

编译PyQT5

step1. 安装SIP

step2. 下载PyQT源码

step3 Python configure.py

错误3.1: nmake.exe,qmake.exe,mk.exe 不在系统环境中

错误3.2: 缺少 *.h 和 *.lib 文件 [最后证明这个方法好蠢]

错误3.3: 协议冲突

错误3.4: Error: Make sure you have a working sip on your PATH

成功 Python configure.py

step4. nmake

错误4.1: 又凉了,源码编译有问题

错误4.2: 要禁掉部分组件

step5. nmake install

测试

小结

干货

先放资源

需要环境为:

VS2013

Python3.6.1 x86

1.编译好的sip-4.19.8

编译好的资源sip:https://download..net/download/humanking7/10428493

2.编译好的PyQT5.10.1

编译好的资源PyQT:https://download..net/download/humanking7/10428457

已经编译编译好了,只需要解压,cmd进入后运行nmake install

我的开发环境:

Windows7 x64

VS2013

Qt5.5.0 x86

Python3.6.1 x86

问题

我一直用的是 Qt5.5.0 开发GUI,而Python不是主要工作语言,所以也没关注,一直用的Python3.6.1这个版本,最近想对Python进阶学习一下,想学一下PyQt,为了让我原来写的Python程序人机交互更好一点,方便使用,就瞄上了PyQt。

原因无他,就是有Qt的基础,而且够用、效率高于标准库的Tkinter

但是,网上要么用pip,要么是自己编译

pip3 install PyQT5

但是用pip的好处和坏处都很明显

好处: 方便

坏处: 没办法知己控制Qt的版本,需要联网,下载太慢了(这条针对我?)

自己编译,对于用惯了集成开发环境的我,简直是噩梦,网上教程又少,而且大家的情况都不一样,所以我也是摸着石头过河。

编译PyQT5

step1. 安装SIP

Python中使用C/C++模块有许多工具,大名鼎鼎的有SWIG(英文意思为:豪饮)、SIP(英文意思为:啜饮,小口的喝),还有boost.python等。其中SIP是从SWIG发展而来,专为Python调用C/C++模块使用的(看SIP的命名就能看出来,很有意思的)。

为了简单,我就直接调pip安装了

pip install SIP

后面发现pip安装出来的没法用,见错误4,所以用源码安装

# Step1.先运行C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat 配置编译环境

> "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"

# Step2.进入sip源码目录

> cd C:\sip-4.19.8

# Step3.获得Makefile文件

> python configure.py

# Step4. nmake

> nmake

# Step5. 安装

> nmake install

step2. 下载PyQT源码

网上先下载针对 Qt5.5.0的PyQT5源码。

PyQT5: https://sourceforge.net/projects/pyqt/files/PyQt5/

我选择: PyQt-gpl-5.5.zip

编译好的是针对 Python3.4 我这里无法使用

6e7e3b0ffa303663bbce4f83f1734125.png

step3 Python configure.py

这一步真是 一千个读者有一千个哈姆雷特 我这一步出现了各种问题,一直用 --verbose 在查找出现的错误。

打开cmd,进入PyQt-gpl-5.5.zip解压后的的目录

> cd C:\PyQt-gpl-5.5

> python configure.py --verbose >> 1.log

f9fc7f27ecace2bd9a392cc7884d0104.png

错误3.1: nmake.exe,qmake.exe,mk.exe 不在系统环境中

添加到系统环境变量的Path 中

D:\Qt\Qt5.5.0_x86\5.5\msvc2013\bin\;

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

错误3.2: 缺少 *.h 和 *.lib 文件 [最后证明这个方法好蠢]

——————————-

最正确的方法补充:

进行nmake之前,先要在CMD中运行 vcvars32.bat 文件,用来配置nmake编译环境

该文件在你的编译器安装位置:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat

> "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"

> nmake #等操作

——————————-

出现了错误,打开 1.log 文件

Querying qmake about your Qt installation...

Determining the details of your Qt installation...

D:\Qt\Qt5.5.0_x86\5.5\msvc2013\bin\qmake.exe -spec win32-msvc2010 -o qtdetail.mk qtdetail.pro

nmake -f qtdetail.mk release

Microsoft (R) 程序维护实用工具 12.00.21005.1 版

版权所有 (C) Microsoft Corporation。 保留所有权利。

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\nmake.exe" -f qtdetail.mk.Release

Microsoft (R) 程序维护实用工具 12.00.21005.1 版

版权所有 (C) Microsoft Corporation。 保留所有权利。

cl -c -nologo -Zc:wchar_t -O2 -MD -GR -W3 -w34100 -w34189 -w44996 -EHsc -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_CORE_LIB -DNDEBUG -I. -ID:\Qt\Qt5.5.0_x86\5.5\msvc2013\include -ID:\Qt\Qt5.5.0_x86\5.5\msvc2013\include\QtCore -Irelease -ID:\Qt\Qt5.5.0_x86\5.5\msvc2013\mkspecs\win32-msvc2010 -Forelease\@C:\Users\Arthur\AppData\Local\Temp\nmDE14.tmp

qtdetail.cpp

D:\Qt\Qt5.5.0_x86\5.5\msvc2013\include\QtCore/qglobal.h(39) : fatal error C1083: 无法打开包括文件: “cstddef”: No such file or directory

NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\cl.EXE"”: 返回代码“0x2”

Stop.

NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\nmake.exe"”: 返回代码“0x2”

Stop.

重点在于这句话:

fatal error C1083: 无法打开包括文件: “cstddef”: No such file or directory

这个cstddef 在 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include中,直接将其复制到C:\PyQt-gpl-5.5中 重新运行

> python configure.py --verbose >> 1.log

发现又会缺少其他的 *.h文件,而且这些文件都在 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include中,索性我就把这个目录下所有的*.h文件全部拷贝到C:\PyQt-gpl-5.5中

最后发现,会缺少 *.lib 文件,根据提示,我把需要的lib 文件全部复制到C:\PyQt-gpl-5.5中【捂脸,我不知道如何在configure.py中配置环境啊,那个大佬会,跪求讲解】

下图所示,各种拖进来的lib和h文件,很无奈。

cd1e60eceec2ab1d602e99d9ec140e0c.png

错误3.3: 协议冲突

> python configure.py --verbose >> 1.log

Error: This version of PyQt5 and the commercial version of Qt have incompatible

licenses.

这个就要修改configure.py文件,将其注释

# Common checks.

# if introspecting and target_config.qt_licensee != 'Open Source' and ltype == 'GPL':

# error(

# "This version of PyQt5 and the commercial version of Qt have "

# "incompatible licenses.")

错误3.4: Error: Make sure you have a workin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值