pip(或setuptools,distribution等…)能否列出每个已安装软件包使用的许可证?

pip(或setuptools,distribution等…)能否列出每个已安装软件包使用的许可证?,第1张

pip(或setuptools,distribution等…)能否列出每个已安装软件包使用的许可证?

您可以使用

pkg_resources

import pkg_resourcesdef get_pkg_license(pkgname):    """    Given a package reference (as from requirements.txt),    return license listed in package metadata.    NOTE: This function does no error checking and is for    demonstration purposes only.    """    pkgs = pkg_resources.require(pkgname)    pkg = pkgs[0]    for line in pkg.get_metadata_lines('PKG-INFO'):        (k, v) = line.split(': ', 1)        if k == "License": return v    return None

使用示例

>>> get_pkg_license('mercurial')'GNU GPLv2+'>>> get_pkg_license('pytz')'MIT'>>> get_pkg_license('django')'UNKNOWN'


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5666997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存