欢迎光临!
若无相欠,怎会相见

SIP4.19.2 和 PyQT5.8.2 源码编译过程

0x00 起因

最近一直在自学Python,打算先写一个界面程序,于是顺理成章的就接触到了PyQT5(目前最新的是PyQT 5.8.2)。当时,懒癌作怪,直接就下载了 PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x32-2.exe (46.2 MB) ,然后,一直下一步下一步,安装完成。打开软件,好像有点问题。

由于这个原因,我想可能是当时编译的时候可能出问题了,不适合这个版本或者不适合我这台电脑,因此,我打算自己编译一下PyQt5。

 0x01 准备工作

在官网上 https://www.riverbankcomputing.com/software/pyqt/download5 ,我发现了,要自己编译PyQt5,首先要求Python安装 SIP 这个模块,然后,我就在官网下载了 sip-4.19.2.zip 和 PyQt5_gpl-5.8.2.zip 这两个源代码文件。我现在自己电脑上的Python环境是 Python 2.7.13,编译的时候用的是 Python 3.6.1,另外,电脑上还需要安装 Qt Creator 。

0x02 编译器选择

我一开始安装的是 Visual Studio 2012,第一步还好,SIP编译成功了,但是到下面,一直进行不下去,到处出错,nmake install 执行后,在PyQt源代码文件夹下,一直出错,进行不下去。后来在网上查了许多资料,执行命令python configure.py –show-platforms 可以查看SIP支持的编译平台。

这个是我后来安装 Visual Studio 2015 后进行的演示。无奈之下,我又把 Visual Studio 2010 安装到电脑上。第一步就完事,GG了,一直进行不下去,到处出错。我心想可能是软件问题,毕竟 VS2010 是很多年前的东西了,而这个 SIP 和 PyQt5 源代码文件是最近刚出来的,我又把 VS2010 和 VS2012 全都卸载了,重新安装 VS2015 。很折腾人啊,光安装卸载软件,都浪费了两三天的时间,因为我想把安装 VS 时带的文件也删掉。虽然最终结果是编译失败了,但是我还是把过程写出来,我已经有点想法,很有可能是我安装软件,造成一些文件,例如lib或者include的冲突,网上也有人说是环境污染。因此,我也不打算再自行编译了,除非我的电脑系统重装,我在自行编译。

0x03 SIP 的编译与安装

我就用我昨天差点成功的截图来做个示范。首先,打开“VS2015 x64 本机工具命令提示符”,转到SIP源代码目录,执行命令:python configure.py  然后执行nmake命令

出现上述 已复制。。。。。 的结果,就成功了。

0x04 PyQt5 的编译安装

还在“VS2015 x64 本机工具命令提示符”,转到PyQt5的源码目录,执行命令:python configure.py, 这一步包括了QT中的qmake命令,一步执行完毕。

上述是命令执行步骤,不过,最终我还是失败了,失败之后,我在这个命令行界面翻看了一下,发现了一个小问题,可能就是这个问题导致的最终的失败。

失败的时候,我很是不甘心,毕竟,这个软件就174MB,上图是我当时安装时产生的文件的体积,他不包括Python这个软件,我昨天从晚上19点开始编译,到夜里23点,以编译失败结尾。耗费了4个小时,一直不间断的编译,还是没有成功,有点丧气。

我还下载了MinGW这个软件,想使用其中的gcc来编译,可惜还是失败了。

0x05 总结

此次编译源代码以失败告终!不过总的编译过程为:

在SIP源码目录

1.python configure.py
2.nmake
3.nmake install

在PyQt源码目录

4.python configure.py
5.nmake
6.nmake install

0x06 反思

1、这是我的第一次编译比较大型的源代码,以前编译的源代码都是但个文件的,而且代码行数没有超过1000行的。虽然刚开始自认为准备的很充分,但是在编译过程中,仍然有很多我没有料到错误,大都不知道如何解决。

2、以后要编译最新的源代码文件,就下载最新的编译器。

3、在这次的编译行动中,发现了一款好用的小软件 Rapid Environment Editor(快速环境变量编辑器) 在这次编译行动中,快速修改环境变量,它帮了我很多,节省了很多时间。而且,还可以备份环境变量,这是我比较喜欢的。

另附上我的编译过程,如果有时间,看一下,希望能学到经验:编译过程

由于插入代码太长,因此放在TXT文件里,上方编译过程

声明:本文是老站的文章,现在网站迁移了,因此重新编辑。原文章发布时间为:2017-6-5

赞(0) 打赏
转载请注明:飘零博客 » SIP4.19.2 和 PyQT5.8.2 源码编译过程
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

欢迎光临