CentOS 5 下安裝 python, qt庫, PyQt4 流程筆記


測試系統包括: 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

 

     

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM