找了很多Python GUI工具集,还是觉得PyQt比较理想,功能强大跨平台,还支持界面设计器。花一天时间折腾了Ubuntu 14.04(32位)+ Python3.4 + Qt5.3.2 + PyQt5.3.2 + Eric6.0 的完整开发平台的搭建,各种出错差点放弃了,好在终于一一解决了,记录下来以后搭建起来方便点。
安装Python3.4Ubuntu14.04貌似默认安装了Python2.7 和Python3.4。故Python3.4的安装可略去。
安装Qt5Ubuntu14.04自带Qt4的部分库文件,但是我们的平台要求Qt5,所以首先安装Qt5.
Qt5.3.2下载: 安装过程:下载到的是Qt5的在线安装程序,为其赋予可执行权限即可单击启动。由于我之前文件都安装在/opt目录下,故这里以root身份安装:
sudo chmod a+x qt-opensource-linux-x86-1.6.0-5-online.run
sudo ./qt-opensource-linux-x86-1.6.0-5-online.run
sudo chmod a+x qt-opensource-linux-x86-1.6.0-5-online.run sudo ./qt-opensource-linux-x86-1.6.0-5-online.run启动界面后默认安装即可。
安装完成后配置一下PATH,在当前用户主目录下的.bashrc (or .zshrc)文件中加入:
export QTDIR=/opt/Qt/5.3/gcc/
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${QTDIR}/lib
export PATH=${QTDIR}/bin:${PATH}
export QTDIR=/opt/Qt/5.3/gcc/ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${QTDIR}/lib export PATH=${QTDIR}/bin:${PATH}注意${QTDIR}/bin和${PATH}的顺序!因为Ubuntu14.04默认${PATH}路径中的/usr/bin下存在诸多qt命令(确切的说是指向qtchooser的软连接,qtchooser最终会选择系统自带的Qt4命令:但是这些命令默认都不存在),如果${QTDIR}/bin在${PATH}之后,会导致Qt命令失效。
特别是qmake命令,在后续安装中需要用到,保险起见,在终端输入qmake,如果显示qmake命令不存在,请通过创建软连接进行解决:
将/usr/bin下的qmake软连接到/opt/Qt/5.3/gcc/bin/qmake上,或者将/usr/lib/i386-linux-gnu/qt4/bin/qmake软连接到/opt/Qt/5.3/gcc/bin/qmake上:
sudo ln -s /opt/Qt/5.3/gcc/bin/qmake /usr/bin/qmake
or
sudo ln -s /opt/Qt/5.3/gcc/bin/qmake /usr/lib/i386-linux-gnu/qt4/bin/qmake
sudo ln -s /opt/Qt/5.3/gcc/bin/qmake /usr/bin/qmake or sudo ln -s /opt/Qt/5.3/gcc/bin/qmake /usr/lib/i386-linux-gnu/qt4/bin/qmake此时再输入qmake查看是否设置成功。
安装SIPSIP是python调用C/C++库的必备模块。因此SIP是PyQt的依赖工具,安装PyQt之前必须先安装对应版本的SIP。PyQt编译时使用的SIP版本必须与python默认调用的SIP保持一致!否则python中是无法调用PyQt的。这里我们使用最新的SIP 4.16.3.
Ubuntu14.04中貌似是自带4.15版的SIP(or 自己安装python扩展是自动安装的)。终端输入:
sip -V
sip -V查看已安装SIP版本,如果存在其他版本,请查看python3的dist-packages目录下是否存在sip相关文件。如果存在将其删除:
sudo -rm /usr/lib/python3/dist-packages/sip*
sudo -rm /usr/lib/python3/dist-packages/sip*然后正式安装SIP 4.16.3。
SIP 4.16.3下载: 安装过程:
tar -zxvf sip-4.16.3.tar.gz
cd sip-4.16.3
python3 configure.py
sudo make
sudo make install
tar -zxvf sip-4.16.3.tar.gz cd sip-4.16.3 python3 configure.py sudo make sudo make install配置过程:
SIP无需配置,只是需要安装完成后注意核对一下版本:
分别在终端输入:
sip -V
sip -V在python3环境输入:
>>>import sip
>>>print(sip.SIP_VERSION_STR)
>>>import sip >>>print(sip.SIP_VERSION_STR)查看二者显示的版本是否一致。如不一致,需要重新执行上述删除过程和安装过程。版本不一致将意味着后面编译PyQt所使用的SIP和Python3调用的SIP的不一致,导致在Python3中调用PyQt的相关模块(from PyQt5 import QtCore)出现类似如下错误: