Обработка исключений для "QXcbConnection: не удалось подключиться к отображению localhost: 16.0 Aborted" на Python - PullRequest
0 голосов
/ 13 мая 2019

Мне нужно создать обработку исключений («попробовать / исключить»), которая приведет к исключению, если в коде произойдет 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.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...