Вывести информацию из исключения в pkg_resources

Я хотел бы проверить, все ли необходимые модули установлены в правильной версии, используя pkg_resources.require. Все это прекрасно работает, но я не знаю, как распечатать информацию, если pkg_resources вызывает pkg_resource.VersionConflict.

Этот пример вызовет исключение, потому что установленная версия ccc - 1.0.0.

dependencies = [
        'aaa=0.7.1',
        'bbb>=3.6.4',
        'ccc>=2.0.0'
    ]
try:
    print(pkg_resources.require(dependencies))
except pkg_resources.VersionConflict:
    print ("The following modules caused an error:")
    // What do i have to do to print out the currently installed version of ccc and the required version using the returned information from pkg_resourcens//
exit()

1 ответ

Понял. Я должен назначить исключение переменной и работать с этим. Вот код:

dependencies = [
    'aaa=0.7.1',
    'bbb>=3.6.4',
    'ccc>=2.0.0'
]
try:
    print(pkg_resources.require(dependencies))
except pkg_resources.VersionConflict as version_error:
    print("The following modules caused an error:")
    print("Version installed :", version_error.dist)
    print("Version required  :", version_error.req)
    exit()
Другие вопросы по тегам