diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index 3e5559d1..5e2b041d 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -28,8 +28,8 @@ def get_special_object(evaluator, identifier): ) -def load_module(evaluator, path=None, name=None): - access_path = evaluator.compiled_subprocess.load_module(path=path, name=name) +def load_module(evaluator, **kwargs): + access_path = evaluator.compiled_subprocess.load_module(**kwargs) if access_path is None: return None return create_from_access_path(evaluator, access_path) diff --git a/jedi/evaluate/compiled/access.py b/jedi/evaluate/compiled/access.py index 3117c326..34cf6b7d 100644 --- a/jedi/evaluate/compiled/access.py +++ b/jedi/evaluate/compiled/access.py @@ -118,8 +118,9 @@ def create_access(evaluator, obj): return evaluator.compiled_subprocess.get_or_create_access_handle(obj) -def load_module(evaluator, path=None, name=None): - sys_path = list(evaluator.project.sys_path) +def load_module(evaluator, path=None, name=None, sys_path=None): + if sys_path is None: + sys_path = list(evaluator.project.sys_path) if path is not None: dotted_path = dotted_from_fs_path(path, sys_path=sys_path) else: diff --git a/jedi/evaluate/compiled/subprocess/functions.py b/jedi/evaluate/compiled/subprocess/functions.py index 11b36d5f..e4f926f0 100644 --- a/jedi/evaluate/compiled/subprocess/functions.py +++ b/jedi/evaluate/compiled/subprocess/functions.py @@ -6,8 +6,8 @@ def get_sys_path(): return sys.path -def load_module(evaluator, path=None, name=None): - return access.load_module(evaluator, path=path, name=name) +def load_module(evaluator, **kwargs): + return access.load_module(evaluator, **kwargs) def get_compiled_method_return(evaluator, id, attribute, *args, **kwargs): diff --git a/jedi/evaluate/imports.py b/jedi/evaluate/imports.py index ecf6443b..b9f96409 100644 --- a/jedi/evaluate/imports.py +++ b/jedi/evaluate/imports.py @@ -380,7 +380,7 @@ class Importer(object): elif module_file is not None or module_path.endswith(('.py', '.zip', '.egg')): module = _load_module(self._evaluator, module_path, code, sys_path, parent_module) else: - module = compiled.load_module(self._evaluator, path=module_path) + module = compiled.load_module(self._evaluator, path=module_path, sys_path=sys_path) if module is None: # The file might raise an ImportError e.g. and therefore not be @@ -491,7 +491,7 @@ def _load_module(evaluator, path=None, code=None, sys_path=None, parent_module=N from jedi.evaluate.context import ModuleContext return ModuleContext(evaluator, module_node, path=path) else: - return compiled.load_module(evaluator, path) + return compiled.load_module(evaluator, path=path, sys_path=sys_path) def add_module(evaluator, module_name, module):