From 850fc17fb4faaf857a2208250b7f7566ea7d5329 Mon Sep 17 00:00:00 2001 From: Mark Byrne Date: Mon, 16 Aug 2021 17:43:04 +0200 Subject: [PATCH] pyreverse - Add project modules to sys.path Closes #2479 --- pylint/pyreverse/main.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pylint/pyreverse/main.py b/pylint/pyreverse/main.py index 1057e9ce58..a503b44025 100644 --- a/pylint/pyreverse/main.py +++ b/pylint/pyreverse/main.py @@ -21,11 +21,11 @@ create UML diagrams for classes and modules in """ -import os import sys from typing import Iterable from pylint.config import ConfigurationMixIn +from pylint.lint.utils import fix_import_path from pylint.pyreverse import writer from pylint.pyreverse.diadefslib import DiadefsHandler from pylint.pyreverse.inspector import Linker, project_from_files @@ -212,10 +212,7 @@ def run(self, args): if not args: print(self.help()) return 1 - # insert current working directory to the python path to recognize - # dependencies to local modules even if cwd is not in the PYTHONPATH - sys.path.insert(0, os.getcwd()) - try: + with fix_import_path(args): project = project_from_files( args, project_name=self.config.project, @@ -224,9 +221,7 @@ def run(self, args): linker = Linker(project, tag=True) handler = DiadefsHandler(self.config) diadefs = handler.get_diadefs(project, linker) - finally: - sys.path.pop(0) - writer.DiagramWriter(self.config).write(diadefs) + writer.DiagramWriter(self.config).write(diadefs) return 0