From 41ca1a2e49f058c36909ba4034a28bf50312ce74 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Wed, 1 Apr 2020 19:04:57 +0300 Subject: [PATCH] Fix requirements detection to make sure trains is detected even if we execute without actually being installed --- trains/utilities/pigar/__main__.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/trains/utilities/pigar/__main__.py b/trains/utilities/pigar/__main__.py index 32828bc6..edc6230f 100644 --- a/trains/utilities/pigar/__main__.py +++ b/trains/utilities/pigar/__main__.py @@ -33,20 +33,22 @@ class GenerateReqs(object): self._project_path, self._ignores) if module_callback: modules = module_callback(modules) - app_name = os.path.basename(self._project_path) - if app_name in local_mods: - local_mods.remove(app_name) # Filtering modules candidates = self._filter_modules(modules, local_mods) + # make sure we are in candidates + ourselves = self.__module__.split('.') if self.__module__ else None + if ourselves and ourselves[0] not in candidates: + candidates.add(ourselves[0]) + logger.info('Check module in local environment.') for name in candidates: logger.info('Checking module: %s', name) if name in self._installed_pkgs: pkg_name, version = self._installed_pkgs[name] reqs.add(pkg_name, version, modules[name]) - else: + elif name in modules: guess.add(name, 0, modules[name]) # add local modules, so we know what is used but not installed.