From cf3beb25a77dabe71fe7647122c7338187ec65d1 Mon Sep 17 00:00:00 2001 From: Richard Frank Date: Mon, 9 Nov 2015 20:52:57 -0500 Subject: [PATCH] BLD: Don't pin install requirements to exact versions Instead, use those versions as lower bounds, so zipline will work with packages that require other versions. --- setup.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 2015fdb3..8b07748f 100644 --- a/setup.py +++ b/setup.py @@ -118,13 +118,20 @@ def _filter_requirements(lines_iter): yield requirement -def read_requirements(path): +def read_requirements(path, convert_eq_to_lte=True): """ Read a requirements.txt file, expressed as a path relative to Zipline root. + + Returns requirements with the pinned versions as lower bounds. """ real_path = join(dirname(abspath(__file__)), path) with open(real_path) as f: - return list(_filter_requirements(f.readlines())) + reqs = _filter_requirements(f.readlines()) + + if not convert_eq_to_lte: + return list(reqs) + else: + return [req.replace('==', '>=') for req in reqs] def install_requires():