From 08cb159e22d8b670daefc09c88feaff8188d8d00 Mon Sep 17 00:00:00 2001 From: Dan Ryan Date: Mon, 16 Jul 2018 02:21:42 -0400 Subject: [PATCH] Windows fix Signed-off-by: Dan Ryan --- pipenv/vendor/pythonfinder/models/windows.py | 16 ++++------------ pipenv/vendor/pythonfinder/pythonfinder.py | 5 +++-- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/pipenv/vendor/pythonfinder/models/windows.py b/pipenv/vendor/pythonfinder/models/windows.py index 4e5b5b98..f33a4807 100644 --- a/pipenv/vendor/pythonfinder/models/windows.py +++ b/pipenv/vendor/pythonfinder/models/windows.py @@ -24,21 +24,13 @@ class WindowsFinder(BaseFinder): None, filter(lambda c: version_matcher(c), self.version_list) ) version_sort = operator.attrgetter("version_sort") - for c in sorted(py_filter, key=version_sort, reverse=True): - yield c.comes_from + return [c.comes_from for c in sorted(py_filter, key=version_sort, reverse=True)] def find_python_version(self, major=None, minor=None, patch=None, pre=None, dev=None): - # version_matcher = operator.methodcaller( - # "matches", major=major, minor=minor, patch=patch, pre=pre, dev=dev - # ) - # py_filter = filter( - # None, filter(lambda c: version_matcher(c), self.version_list) - # ) - # version_sort = operator.attrgetter("version_sort") - return next( - self.find_all_python_versions( + return next(( + v for v in self.find_all_python_versions( major=major, minor=minor, patch=patch, pre=pre, dev=dev - ), None + )), None ) @versions.default diff --git a/pipenv/vendor/pythonfinder/pythonfinder.py b/pipenv/vendor/pythonfinder/pythonfinder.py index fa7578d2..e40405fd 100644 --- a/pipenv/vendor/pythonfinder/pythonfinder.py +++ b/pipenv/vendor/pythonfinder/pythonfinder.py @@ -71,8 +71,9 @@ class Finder(object): def find_all_python_versions(self, major=None, minor=None, patch=None, pre=None, dev=None): version_sort = operator.attrgetter("as_python.version_sort") - versions = self.system_path.find_all_python_versions(major=major, minor=minor, patch=patch, pre=pre, dev=dev) + versions = [] + versions.extend([p for p in self.system_path.find_all_python_versions(major=major, minor=minor, patch=patch, pre=pre, dev=dev)]) if os.name == 'nt': windows_versions = self.windows_finder.find_all_python_versions(major=major, minor=minor, patch=patch, pre=pre, dev=dev) - versions = list(versions) + list(windows_versions) + versions = versions + list(windows_versions) return sorted(versions, key=version_sort, reverse=True)