【问题标题】:Python package discovery for entry points subgroups入口点子组的 Python 包发现
【发布时间】:2020-06-13 04:59:11
【问题描述】:

我一直在练习pack python libs with setuptools,我知道entry_point keyword usage 以及给定组的using package metadatacollect entry_points

我的问题是,pkg_resourcesimportlibpkgutil 或任何其他已知软件包是否为给定入口点组的发现子组提供了一种方法?我的意思是,找到所有以某个前缀开头的组:

>>> import pkg
>>> pkg.find_subgroups('entry.point.group')
entry.point.group.first
entry.point.group.other
entry.point.group.one.more

【问题讨论】:

    标签: python python-3.x package setuptools distutils


    【解决方案1】:

    我认为您正在从 importlib.metadata 包中寻找 entry_points 方法。 importlib.metadata 包是在 python 3.8 中引入的。对于较低版本的python,您可以安装向后移植的包importlib_metadata

    import sys
    if sys.version_info < (3, 8):
        from importlib_metadata import entry_points
    else:
        from importlib.metadata import entry_points
    
    discovered_plugins = entry_points()
    grps = set(for grp,eps in discovered_plugins.items())
    for grp in grps: 
        if grp.startswith('entry.point.group'):
            print(grp)
    

    【讨论】:

      猜你喜欢
      • 2022-01-06
      • 1970-01-01
      • 2015-04-21
      • 2019-11-03
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多