Fix poetry support (issue #57)

This commit is contained in:
allegroai 2021-04-14 11:22:07 +03:00
parent 948fc4c6ce
commit 60a58f6fad

View File

@ -2242,16 +2242,19 @@ class Worker(ServiceCommandSection):
except Exception: except Exception:
requirements = freeze requirements = freeze
# add to cache # disable caching with poetry because we cannot make it install into a specific folder
print('Adding venv into cache: {}'.format(add_venv_folder_cache)) # Todo: add support for poetry caching
if add_venv_folder_cache: if not self.poetry.enabled:
self.package_api.add_cached_venv( # add to cache
requirements=[freeze, previous_reqs], print('Adding venv into cache: {}'.format(add_venv_folder_cache))
docker_cmd=execution_info.docker_cmd if execution_info else None, if add_venv_folder_cache:
python_version=getattr(self.package_api, 'python', ''), self.package_api.add_cached_venv(
cuda_version=self._session.config.get("agent.cuda_version"), requirements=[freeze, previous_reqs],
source_folder=add_venv_folder_cache, docker_cmd=execution_info.docker_cmd if execution_info else None,
exclude_sub_folders=['task_repository', 'code']) python_version=getattr(self.package_api, 'python', ''),
cuda_version=self._session.config.get("agent.cuda_version"),
source_folder=add_venv_folder_cache,
exclude_sub_folders=['task_repository', 'code'])
# If do not update back requirements # If do not update back requirements
if not update_requirements: if not update_requirements:
@ -2310,7 +2313,11 @@ class Worker(ServiceCommandSection):
package_api.cwd = cwd package_api.cwd = cwd
api = self._install_poetry_requirements(repo_info) api = self._install_poetry_requirements(repo_info)
if api: if api:
package_api = api # update back the package manager, this hack should be fixed
if package_api == self.package_api:
self.package_api = api
elif package_api == self.global_package_api:
self.global_package_api = api
return return
package_api.upgrade_pip() package_api.upgrade_pip()