Add agent.package_manager.force_original_requirements allowing to only use the "org_pip" coming from dev execution (using this prevents editing the installed packages from the UI)

This commit is contained in:
allegroai 2022-03-24 22:00:33 +02:00
parent 4c120d7cd0
commit 1163c96438

View File

@ -2174,8 +2174,22 @@ class Worker(ServiceCommandSection):
if not custom_build_script: if not custom_build_script:
if self._session.config.get("agent.package_manager.force_repo_requirements_txt", False): if self._session.config.get("agent.package_manager.force_repo_requirements_txt", False):
requirements = None requirements = None
print("[package_manager.force_repo_requirements_txt=true] " print("\n[package_manager.force_repo_requirements_txt=true] "
"Skipping requirements, using repository \"requirements.txt\" ") "Skipping requirements, using repository \"requirements.txt\" \n")
elif self._session.config.get("agent.package_manager.force_original_requirements", False):
try:
requirements = current_task.script.requirements
if isinstance(requirements, dict):
if 'org_pip' in requirements:
requirements['pip'] = requirements['org_pip']
print("\n[package_manager.force_original_requirements=true] "
"Using original requirements: \n{}\n".format(requirements['org_pip']))
if 'org_conda' in requirements:
requirements['conda'] = requirements['org_conda']
print("\n[package_manager.force_original_requirements=true] "
"Using original requirements: \n{}\n".format(requirements['org_conda']))
except AttributeError:
requirements = None
else: else:
try: try:
requirements = current_task.script.requirements requirements = current_task.script.requirements