Как добавить тесты для установки различных программ (не только проверка импорта) - PullRequest
0 голосов
/ 18 марта 2019

Моя программа не просто импортирует модули, иногда я вызываю их через терминал. Я хотел бы добавить тесты в начало программы, чтобы они «быстро проваливались», если программы не установлены.

Очевидно, я могу просто сделать:

def try_load_module():
    try:
        import module
        return True
    except ImportError:
        return False

Но как насчет модулей, вызываемых через терминал? Кажется неуклюжим и хрупким использовать что-то вроде:

def try_call_module():
    output = subprocess.Popen(['module', '--version'], stdout=subprocess.PIPE).communicate()[0]
    # Check version number is greater than 2
    if int(output[0]) >= 2:
        return True
    return False

Спасибо за любую помощь.

РЕДАКТИРОВАТЬ: Поскольку я использую Linux, было бы хорошей идеей проверить bashrc, чтобы увидеть, может ли модуль вызываться?

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