Jython: определите, какие библиотеки Python доступны в системе для импорта - PullRequest
1 голос
/ 23 февраля 2020

В IBM Maximo 7.6.1.1 можно писать сценарии автоматизации с J ython 2.7.0.

Используя Jython, я хочу определить, какие библиотеки Python доступны в системе для импорта.

Например, я могу импортировать библиотеки math и os, но не могу импортировать библиотеку json (поскольку она не была добавлена ​​в систему ).

  • Я не могу добавить в систему дополнительные библиотеки Python; это заблокировано и находится вне моего контроля.

  • Похоже, не существует рифмы или причины, по которой библиотеки Python были включены в Maximo, а какие не (не похоже на стандартную библиотеку Python).

  • Документация и поддержка IBM были нулевой справкой.

Есть ли способ определить, какие библиотеки Python доступны для импорта - с помощью скрипта Jython?

Пример: print list_of_importable_libraries()

1 Ответ

1 голос
/ 23 февраля 2020
import pip
installed_packages = pip.get_installed_distributions()
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
     for i in installed_packages])
print(installed_packages_list)

Как (слишком длинный) один вкладыш:

sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])

Возможная ошибка:

AttributeError: у 'pip' нет атрибута 'get_installed_distributions'

Для пункта == 10.0.0

Вы можете понизить уровень пункта до> = 9.0.0, чтобы исправить это И возможный дубликат этого вопроса .

...