Я использую трюк «python -c» import myscript.py »для выполнения проверки синтаксиса на скрипте, который использует« import 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-сервер, как только это будет сделано , – ephemient
@ephemient: На основании информации о вопросе я предположил, что на удаленных серверах нет установки X.Org. – tzot
Правильно, но сервер VNC UNIX содержит порт X.Org в любом случае. Если OP требует частей X.Org, не имеет значения, какие части они до тех пор, пока они работают; нет ничего особенного в «Xvnc». – ephemient