Replace back package version on conda and pip

This commit is contained in:
allegroai 2020-10-04 19:41:26 +03:00
parent 5640489f57
commit 3ff85b7b85
2 changed files with 23 additions and 9 deletions

View File

@ -90,10 +90,17 @@ class ExternalRequirements(SimpleSubstitution):
return Text('')
def replace_back(self, list_of_requirements):
if 'pip' in list_of_requirements:
original_requirements = list_of_requirements['pip']
list_of_requirements['pip'] = [r for r in original_requirements
if r not in self.post_install_req_lookup]
list_of_requirements['pip'] += [self.post_install_req_lookup.get(r, '')
for r in self.post_install_req_lookup.keys() if r in original_requirements]
if not list_of_requirements:
return list_of_requirements
for k in list_of_requirements:
# k is either pip/conda
if k not in ('pip', 'conda'):
continue
original_requirements = list_of_requirements[k]
list_of_requirements[k] = [r for r in original_requirements
if r not in self.post_install_req_lookup]
list_of_requirements[k] += [self.post_install_req_lookup.get(r, '')
for r in self.post_install_req_lookup.keys() if r in original_requirements]
return list_of_requirements

View File

@ -67,8 +67,15 @@ class RequirementsTranslator(object):
return downloaded
def replace_back(self, requirements):
if 'pip' in requirements:
original_requirements = requirements['pip']
if not requirements:
return requirements
for k in requirements:
# k is either pip/conda
if k not in ('pip', 'conda'):
continue
original_requirements = requirements[k]
new_requirements = []
for line in original_requirements:
local_file = [d for d in self._translate_back.keys() if d in line]
@ -78,6 +85,6 @@ class RequirementsTranslator(object):
else:
new_requirements.append(line)
requirements['pip'] = new_requirements
requirements[k] = new_requirements
return requirements