From 41e838c4b1d0419faebbba07bc3b2c374c69261e Mon Sep 17 00:00:00 2001 From: Vineet Naik Date: Wed, 23 Jan 2019 17:50:50 +0530 Subject: [PATCH] Fix FrozenRequirement.to_dist to support pip 19.0 In pip 19.0 the function signature of FrozenRequirement.to_dist has been changed. The last argument 'depedency_links' is now removed as depedency support has been removed in pip 19.0. Fixes #113. Pull request removing dependency links support: https://github.com/pypa/pip/pull/6060 Commit removing the 'dependency_links' argument: https://github.com/pypa/pip/pull/5881/commits/46ffb13f13f69c509fd253329da49889008f8e23 --- pipdeptree.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pipdeptree.py b/pipdeptree.py index a23ca69..9dedcf4 100644 --- a/pipdeptree.py +++ b/pipdeptree.py @@ -129,6 +129,13 @@ def guess_version(pkg_key, default='?'): return getattr(m, '__version__', default) +def frozen_req_from_dist(dist): + try: + return FrozenRequirement.from_dist(dist) + except TypeError: + return FrozenRequirement.from_dist(dist, []) + + class Package(object): """Abstract class for wrappers around objects that pip returns. @@ -156,7 +163,7 @@ class Package(object): @staticmethod def frozen_repr(obj): - fr = FrozenRequirement.from_dist(obj, []) + fr = frozen_req_from_dist(obj) return str(fr).strip() def __getattr__(self, key):