python - Jython:确定系统中有哪些 Python 库可用于导入
问题描述
在 IBM 的 Maximo 7.6.1.1中,可以使用Jython 2.7.0 编写自动化脚本。
使用 Jython,我想确定系统中有哪些 Python 库可供导入。
例如,我可以导入math
和os
库,但我不能导入json
库(因为它还没有被添加到系统中)。
我无法向系统添加额外的 Python 库;这是锁定的,我无法控制。
关于哪些 Python 库包含在 Maximo 中,哪些没有包含(它似乎与标准 Python 库不一致),似乎没有押韵或理由。
文档和 IBM 支持的帮助为零。
有没有办法确定哪些 Python 库可用于导入——通过 Jython 脚本?
例子:print list_of_importable_libraries()
解决方案
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
您可以将 pip 降级为 >= 9.0.0 以解决此问题,并且可能与此问题重复。