Мне нужно создать обработку исключений («попробовать / исключить»), которая приведет к исключению, если в коде произойдет QXcbConnection: Could not connect to display localhost:XX.X Aborted
.Код иногда запускается в месте, где $DISPLAY
установлен, но недоступен (без x-сервера).
Экспорт переменной $DISPLAY
может не работать, так как мне нужен код для запуска обоих в обычном envи в кластере без доступа к x-серверу.Вот почему мне нужно иметь возможность перехватить это исключение, чтобы я мог установить plt.switch_backend('agg')
в случае, если x-сервер недоступен.
Следующее работает для некоторых случаев, когда переменная $DISPLAY
не установлена.
try:
print("Passed try!")
plt.figure()
except:
plt.switch_backend('agg')
Однако, если $DISPLAY
установлен, но недоступен, первый try
делаетне неудача, приводящая к ABORTED
сразу после.
Мне нужно найти способ потерпеть неудачу с первой попытки, когда появляется следующая ошибка: QXcbConnection: Could not connect to display localhost:XX.X Aborted
.
Есть идеи?