2014-10-16 188 views
0

我在Apache中得到一個錯誤使用是error_log WSGI和PyQt4的:阿帕奇mod_wsgi的和Qt

: cannot connect to X server 

我的Python代碼如下所示:

import PyQt4.qtgui as qtgui 
__qt_app = qtgui.QApplication([]) 

我有安裝最基本的CentOS和我有安裝輕量級X服務器(組「X窗口系統」和其他一些rpms)。

以前的代碼在X服務器安裝後(之前沒有)在控制檯中工作。

環境:CentOS 6.5,Apache 2.2.15,mod_wsgi 4.3.0。

有關可能發生什麼的任何線索?

+0

您是否嘗試在WSGI Web應用程序上下文中初始化Qt應用程序? 這不起作用。一個Web服務器必須X會話,這將是一個Qt應用程序所必需的。 – 2014-10-16 09:50:33

+0

像克勞斯一樣,我不明白你在這裏要做什麼。爲什麼你想在網站中使用Qt應用程序?你如何期待這種工作? – 2014-10-16 10:00:57

+0

我想解析ui文件...所以我所做的就是調用'ui_instance = qtuic.loadUi(ui_file_path)' – JTE 2014-10-16 10:05:32

回答

0

我發現了一個「解決方案」,我重新安裝了最小的CentOS(我不需要X服務器),並且我添加了xorg-x11-server-Xvfb包。

開始的Xvfb上顯示99:

/usr/bin/Xvfb :99 -screen 0 640x480x24 

編輯Python代碼:

import os 
import PyQt4.qtgui as qtgui 

os.environ['DISPLAY'] = ':99' 
__qt_app = qtgui.QApplication([]) 

而且一切工作。