diff --git a/src/scenic/core/errors.py b/src/scenic/core/errors.py index 6dec253d6..47c93cf0f 100644 --- a/src/scenic/core/errors.py +++ b/src/scenic/core/errors.py @@ -1,5 +1,6 @@ """Common exceptions and error handling.""" +import importlib import itertools import pathlib import traceback @@ -26,7 +27,8 @@ hiddenFolders = [ pathlib.Path(scenic.core.__file__).parent, # scenic.core submodules pathlib.Path(scenic.syntax.__file__).parent, # scenic.syntax submodules - '', + '', # parts of importlib used internally + pathlib.Path(importlib.__file__).parent, ] ## Exceptions diff --git a/src/scenic/simulators/carla/behaviors.scenic b/src/scenic/simulators/carla/behaviors.scenic index 8e68b4988..632387edc 100644 --- a/src/scenic/simulators/carla/behaviors.scenic +++ b/src/scenic/simulators/carla/behaviors.scenic @@ -1,7 +1,6 @@ """Behaviors for dynamic agents in CARLA scenarios.""" from scenic.domains.driving.behaviors import * # use common driving behaviors -import scenic.domains.driving.model as _model try: from scenic.simulators.carla.actions import * diff --git a/src/scenic/syntax/veneer.py b/src/scenic/syntax/veneer.py index 9a9dd97f4..7ce816923 100644 --- a/src/scenic/syntax/veneer.py +++ b/src/scenic/syntax/veneer.py @@ -446,8 +446,11 @@ def model(namespace, modelName): try: loadingModel = True module = importlib.import_module(modelName) - except ModuleNotFoundError: - raise InvalidScenarioError(f'could not import world model {modelName}') from None + except ModuleNotFoundError as e: + if e.name == modelName: + raise InvalidScenarioError(f'could not import world model {modelName}') from None + else: + raise finally: loadingModel = False names = module.__dict__.get('__all__', None)