安装QT5.5
去QT官网或者qtcn论坛下载最新的QT版本,然后安装.此步骤忽略.
ubuntu系统自带了qmke,但是版本较低,要使用前面安装的最新版本QT中的qmake。
sudo ln -s /usr/local/QT5.5/5.5/gcc_64/bin/qmake /usr/bin/qmake
很坑啊,因为如果只是修改了bashrc,你编译的时候如果加了sudo,那就悲剧了。我就是犯了这个错误,导致后面编译的时候,有的版本不对,很难察觉。
新开终端:
$ qmake -v
QMake version 3.0
Using Qt version 5.5.0 in /usr/local/Qt5.5/5.5/gcc_64/lib
说明QT5.5环境已经配置OK.
安装SIP
SIP是python调用C/C++库的必备模块。因此SIP是PyQt的依赖工具,安装PyQt之前必须先安装对应版本的SIP。PyQt编译时使用的SIP版本必须与python默认调用的SIP保持一致!否则python中是无法调用PyQt的.
最新版本的PyQt5.5需要的SIP版本:sip 4.16.6 or later.ubuntu自带或者从仓库中安装的sip版本是4.15.5不能满足,所以要手动下载安装.我下载的版本是4.16.9.
先删除
sudo rm /usr/lib/python3/dist-packages/sip*
然后下载编译源码安装:
cd sip-4.16.9
python3 configure.py
make
sudo make install
make出错:
siplib.c:20:20: fatal error: Python.h: 没有那个文件或目录
解决办法:
sudo apt-get install python3.4-dev
重新make install.
查看sip版本:
sip -V
python3中查看sip版本:
>>>import sip
>>>print(sip.SIP_VERSION_STR)
两者版本要一致.我的均显示4.16.9.
安装PyQt5
需要下载源码,编译后,在使用.
下载解压之后,进入源码目录:
python3 configure.py
发现错误:
~/PyQt-gpl-5.5 $ python3 configure.py Querying qmake about your Qt installation...
Determining the details of your Qt installation...
This is the GPL version of PyQt 5.5 (licensed under the GNU General Public
License) for Python 3.4.3 on linux.
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.")
重新执行:
python3 configure.py -j8
等待一分钟左右,然后执行下述命令:
make -j16
等待约两分钟后,执行:
sudo make install
验证是否安装成功
安装完成后进入Python3环境验证是否安装成功:
>>>import PyQt5
如果什么也没提示,说明安装成功.
安装QScintilla2
QScintilla2是连接编译器和Python的接口,因此是Eric的必需前置组件。QScintilla2 中需要单独安装3个模块:本体,Designer和python bingdings。
我下载的是QScintilla-gpl-2.9版本.
解压后进入源码目录:
安装本体:
cd Qt4Qt5
qmake qscintilla.pro
make
sudo make install
安装Designer:
PyQt5
cd designer-Qt4Qt5
qmake designer.
make
sudo make install
安装Python bingdings:
cd Python
python3 configure.py --pyqt=PyQt5
make -j16
sudo make install
提示出错:
Error: Qsci/qsciglobal.h could not be found in
/usr/local/Qt5.5/5.5/gcc_64/include. If QScintilla is installed then use the
--qsci-incdir argument to explicitly specify the correct directory.
根据提示指定头文件路径
python3 configure.py --pyqt=PyQt5 --qsci-incdir=../Qt4Qt5
以上步骤即可正确安装QScintilla2。需要注意的是Python bingdings安装时需要指定 –pyqt=PyQt5参数,否则默认是为PyQt4安装。或者直接修改其configure.py,将pyqt5_is_default = False改为pyqt5_is_default = True也可
安装Eric6
我下载的是eric6-6.0.9版本,和其对应的中文包eric6-i18n-zh_CN.GB2312-6.0.9.tar.gz
这两个文件夹解压后,会合并到一个文件夹中,没有的话,请手动完成.
sudo python3 install.py //安装主程序
sudo python3 install-i18n.py //安装中文语言包
安装成功。
最后修改家目录中的.eric6文件夹:
sudo chown username:username .eric6 -R
sudo chown shajia:shajia .config/Eric6 -R
否则你无法正常启动!!!
记住啊,千万别在bashrc里面去添加什么环境变量,直接修改
sudo ln -s /usr/local/QT5.5/5.5/gcc_64/bin/qmake /usr/bin/qmake
否则各种奇葩问题,什么段错误了,版本不对了等等。
如果遇到莫名其妙的问题:
sudo rm /usr/lib/python3/dist-packages/sip*
sudo rm /usr/lib/python3/dist-packages/PyQt5
然后严格按照上述操作步骤做吧。
参考博客链接:可以参考eric的配置,以及小的demo。