您的位置:首页 > 运维架构 > Linux

CentOS 5 下安装 python, qt库, PyQt4 流程笔记

2014-04-09 17:18 344 查看
测试系统包括: CentOS 6.4,  CentOS 5.9,  ArchLinux

CentOS 5.9:

  准备:

    安装 Yum 的扩展源:

    EPEL:

      https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F

    RPMforge:

      http://repoforge.org/use/CentOS的wiki

  1.  搜索PyQt的rpm包(推荐搜索站:http://pkgs.org/

     CentOS 5 官方源的是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 修改里面的配置,把 [elgis-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 下的版本是2.6。

     使用 #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 是用于图形界面的服务,详细可参阅百度百科链接:xorg , X11

     由于此处只需执行脚本命令,不需要具体的图形界面,因此通过创建一个虚拟的 X-Server 即可实现(Xvfb)。

  

  5.  安装 Xvfb —— 提供 X 窗口系统仿真 X 服务器

     继续用 yum 安装 Xvfb

#yum install xvfb
#yum install Xorg xauth xorg-x11-fonts*
# Xorg, xauth, xorg-x11-fonts* 是三个包,只安装xvfb后无法执行xvfb-run,可安装这三个包尝试解决


     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 成功执行 py 文件:

#xvfb-run.sh python testScreenShot.py


     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: