测试系统包括: CentOS 6.4, CentOS 5.9, ArchLinux
CentOS 5.9:
1. 搜索PyQt的rpm包(推荐搜索站:http://pkgs.org/ )
CentOS官方源的是PyQt3的,而搜索到 EL GIS Plus 这个源有 python2.6 和 PyQt4-4.5,果断在yum上配置这个源。
#rpm -Uvh http://elgis.argeo.org/repos/5/elgis-release-5-5_0.noarch.rpm //生成.repo文件 #rpm --import http://elgis.argeo.org/RPM-GPG-KEY-ELGIS //导入key
此时在 /etc/yum.repos.d/ 目录中多出了 elgis.repo 和 elgis-testing.repo 两个文件。
我们 #vim elgis.repo 修改里面的配置,把 plus 处的 enabled 设置为1(开启使用)。
[elgis-plus] name=EL GIS 5 Plus - $basearch baseurl=http://elgis.argeo.org/repos/5/elgis-plus/$basearch enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ELGIS
保存修改后,#yum makecache 清空一下 yum 的缓存。
2. 安装PyQt4
再次使用 #yum search pyqt 发现新的rpm包,安装 #yum install **.rpm
PS:这个包最大的优点在于已经包含了 QtWebKit ,不用自己再去安装扩展库咯,一yum搞掂。。。
3. 检查是否安装成功
这个rpm包是默认装 python2.6 的,所以要确保安装时候 /usr/bin/python 的版本,使用 #python2.6 命令进入python的交互模式
>>> import PyQt4 >>> help(PyQt4)
看看 python 帮助信息中是否包含了QT模块,特别看看有木有 QtWebKit
4. 执行 .py 文件,使用 QT 库来做网页截图的
#python testScreenShot.py
报错:test.py: cannot connect to X server
X server 是用于图形界面的服务,我们执行脚本命令的时候只需要创建一个虚拟的 X Server 就可以咯
5. 安装 Xvfb 包提供 X 窗口系统仿真 X 服务器
继续用 yum 安装,建议 #yum install Xorg xauth xorg-x11-fonts* 三个系列的rpm包
Q:发现在 CentOS 5.9 中出现问题,xvfb 安装完成之后,没有在 /usr/bin 目录中生成 xvfb-run 命令
A:最后手动下载一个 .sh 文件解决
#wget http://www.flexthinker.com/wp-content/uploads/2009/11/xvfb-run.sh.txt #cp ./xvfb-run.sh.txt /usr/bin/xvfb-run.sh #chmod u+x /usr/bin/xvfb-run.sh
6. 最后使用 xvfb 再次执行成功:
#xvfb-run.sh python testScreenShot.py