我正在使用「python -c」import myscript.py'「技巧對使用」導入gtk「的腳本執行語法檢查。python gtk模塊在導入時打開顯示
執行語法檢查時出現以下錯誤,這意味着gtk模塊正在執行X顯示檢查,即使此時所做的全部操作都是導入模塊。
Traceback (most recent call last):
File "<stdin>", line 15, in ?
File "myscript.py", line 21, in ?
import gtk
File "/usr/src/build/463937-i386/install/usr/lib/python2.3/site-packages/gtk-2.0/gtk/__init__.py", line 37, in ?
RuntimeError: could not open display
執行語法檢查時有沒有辦法避免這個錯誤?
在你問 - 我不能在語法檢查運行之前設置$ DISPLAY。該檢查作爲分佈式構建系統的一部分在遠程服務器上運行。這些服務器沒有可用的X顯示器。
X.Org發行版提供了'Xvfb'和'Xfake',可用於類似的目的。另外,我可能會使用'startx \'python \'-c myscript.py - \'Xvnc \':7',它將自動爲客戶端設置環境並在X服務器完成後拆除X服務器。 – ephemient
@ephemient:基於問題信息,我假定遠程服務器中沒有任何X.Org安裝。 – tzot
沒錯,但UNIX VNC服務器無論如何都包含X.Org的端口。如果OP需要X.Org部件,只要他們工作,哪個部件是無關緊要的; 「Xvnc」沒有什麼特別的特殊之處。 – ephemient