def _requirements(self, package_name):
def _get_package(_package_name):
candidates = [p for p in pip.get_installed_distributions() if p.project_name == _package_name]
if not candidates:
raise ValueError('No package "{}"'.format(package_name))
return candidates[0]
package = _get_package(package_name)
result = set(name for name in package._get_metadata("top_level.txt") if '/' not in name)
for requirement in package.requires():
result |= self._requirements(requirement.project_name)
return result
评论列表
文章目录