一半君的总结纸

听话只听一半君

使用自动build script编译PyQt 5.7 for Maya 2017

用maya 2017里自带的qt也行,但是lz想要试试在外面编译,因为想做成脱离maya的自动安装包(像riverbank官网那种),所以就从编译qt开始了
本文中的方法有一处失误,没有编译到qwebkit

预先准备好

其实用不着从自己编译qt开始,因为很麻烦,可以用maya自带的qt,但是lz有强迫症
lz是追新一族,所以python用的是2.7.12,pyqt用的也是最新的5.7,为了能和pyqt4并存,lz这里先装了virtualenv(其实用不着)

pip install virtualenv

然后建个virtual env

mkdir d:\venv
cd d:\venv
virtualenv pyqt5
cd pyqt5
Scripts\activate.bat

跑完qt编译lz的t450s上用了75min,lz把使用的编译script放到了github

先setup.bat,设置一些环境变量,再编译其他的,因为这个是从around-the-corner blog的pyqt4复制来的,不知道为何原作者用subst映射了下盘符,会造成pyrcc5.bat等批处理文件里python的路径不对,可以手改一下

如果想编译的时候同时保存log以备分析,可以使用powershell

powershell ".\pyqt.bat 2>&1 | tee pyqt.log"

或者先进powershell再

.\pyqt.bat 2>&1 | tee pyqt.log

lz的步骤是照着buildAll.bat里的顺序来的,因为想搞个大而全的,所以icu也弄了,开始之前

pyqt5_1

其中qt目录下的qtwebkit拷贝到了qt-adsk-5.6.1里面

pyqt5_2

编译完成后,想用nsis打包的时候,不知道为何pyqt5.7的源码包里没给之前都会给的.nsi script,lz于是从5.6的包里拿了出来,自己改了改,这三个文件位于github repo里的PyQt5_gpl-5.7目录下,最终安装包见本文底部链接

sip lz用的是最新版4.18.1,如果你的pyqt4也是这个版本的sip编译的话,按官网说明,是可以和pyqt5共存的

测试一下视频播放,用的代码是这个

pyqt5_3

貌似正常

下载链接:(dropbox)
PyQt5-5.7-gpl-Py2.7-Qt5.6.1-x64.exe
半自动编译script

参考:
subst Is not working in window 7
How to Turn On Auto-Complete in the Command Prompt
Qt Configure Options
Qt 5.6 Configure Options
ConEmu’s Tasks
Compiling-ICU-with-MSVC
Compare Visual Studio 2015 Offerings
Compiling Qt 5.5.1 (With Qtwebkit) With Visual Studio 2015
[PyQt] PyQt5 Building PyQt5 for Windows
[PyQt] Build fails with PyQt-commercial-5.5.1-snapshot-dd00723a6712
How to resize a Virtual Drive
Windows Command Line – Set path from command line
Displaying Windows command prompt output and redirecting it to a file
https://github.com/pyqt/python-qt5

Advertisements

2 responses to “使用自动build script编译PyQt 5.7 for Maya 2017

  1. ybw2008cs 十二月 21, 2016 @ 2:08 下午

    播的啥视频..^( •́ .̫ •̀ )

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: