Ubuntu 14.10 (64bit) +Qt5.4+Python3.4 +PyQt5.4.1+Eric6安装简介

时间:2023-01-29 23:03:40

#

本文参考”Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台”[http://blog.csdn.net/idber/article/details/40076821],请先阅读原文,再对照参考。

Python3.4是ubuntu14.10官方自带,其他是下载最新稳定版【2015.04.16】。
以下所有安装都是以sudo 权限,make可以不是sudo权限。编译时候用 make -jN [N一般是cpu核心数的2倍],如双核cpu,make -j4,用4个线程编译。

【安装Qt5.4】

参考原文,安装完成后可以采用不按原文配置,但配置qtchooser。
qtchooser提供了选择Qt版本选择,允许多个Qt版本存在.只要对用户作一个配置,新建文件$HOME/.config/qtchooser/xxxx.conf,内容就两行,如下:

/opt/Qt5.4.0/5.4/gcc_64/bin
/opt/Qt5.4.0/5.4/gcc_64/lib

【说明】第一行是Qt执行文件的安装路径,第二行是Qt库文件路径
然后在$HOME/.bashrc末尾加上

export QT_SELECT=xxxx

注:xxxx就是之前新建文件的名字
更新一下环境变量

$source \$HOME/.bashrc

检查一下qmake,确保OK.

$qmake -v

【安装SIP】

见原文

【安装PyQt5.4.1】

没有出现问题,不需要做修改,也不需要作软链接,不需要指定目录。默认的安装路径为/usr/lib/python3/dist-packages/PyQt5/ [与文中不一样]

【安装QScintilla2】

见原文

【安装Eric6】

安装Eric6时候会出现错误提示,如下:

Sorry, please install QScintilla2 and it's PyQt4 wrapper.Error: cannot import name Qsci

原因上就是python3的模块安装路径会分成2个,结果调用的时候没有找到usr/lib/python3.4/site-packages/PyQt5里的模块Qsci.so。解决方法:

sudo cp /usr/lib/python3.4/site-packages/PyQt5/Qsci.so /usr/lib/python3/dist-packages/PyQt5/

确定/usr/lib/python3.4/site-packages/PyQt5除了Qsci.so没有别的库文件,然后

sudo rm -r /usr/lib/python3.4/site-packages/PyQt5

再做个软链接,如下[注意:与上文不一样,或者不要软链接了,已经把库文件copy过了]:

sudo ln -s /usr/lib/python3/dist-packages/PyQt5 /usr/lib/python3.4/site-packages/PyQt5 

【运行Eric6】

以root权限运行Eric6正常
sudo eric6 [正常]
但以普通用户运行,出现许多行如下错误提示,几乎无法出现eric界面,系统反应迟缓

Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion `GTK_IS_WIDGET (widget)'

解决办法:
在eric6运行的脚本上添加一行”export LIBOVERLAY_SCROLLBAR=0”,也就是修改/usr/local/bin/eric6,如下:

#!/bin/sh
export LIBOVERLAY_SCROLLBAR=0
exec "/usr/bin/python3" "/usr/lib/python3/dist-packages/eric6/eric6.py" "$@"

问题出现的原因,有人说是这样:
Qt has not been patched to support overlay-scrollbars. The patch just sets the environment variable LIBOVERLAY_SCROLLBAR to 0 before initializing gtk within the QGtkStyle.