From 1580cc6fa0ba5be8d8b29cca849dad2cd78f4adf Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Thu, 15 Oct 2020 22:49:12 -0400 Subject: [PATCH] Add explanation to module load error --- tractor/_actor.py | 16 ++++++++++++++-- tractor/_discovery.py | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tractor/_actor.py b/tractor/_actor.py index 178e12a..6d223b0 100644 --- a/tractor/_actor.py +++ b/tractor/_actor.py @@ -301,7 +301,18 @@ class Actor: try: return getattr(self._mods[ns], funcname) except KeyError as err: - raise ModuleNotExposed(*err.args) + mne = ModuleNotExposed(*err.args) + + if ns == '__main__': + msg = ( + "\n\nMake sure you exposed the current module using:\n\n" + "ActorNursery.start_actor(, rpc_module_paths=" + "[__name__])" + ) + + mne.msg += msg + + raise mne async def _stream_handler( self, @@ -591,7 +602,7 @@ class Actor: # Receive runtime state from our parent parent_data = await chan.recv() log.debug( - "Recieved state from parent:\n" + "Received state from parent:\n" f"{parent_data}" ) accept_addr = ( @@ -599,6 +610,7 @@ class Actor: parent_data.pop('bind_port'), ) rvs = parent_data.pop('_runtime_vars') + log.debug(f"Runtime vars are: {rvs}") rvs['_is_root'] = False _state._runtime_vars.update(rvs) diff --git a/tractor/_discovery.py b/tractor/_discovery.py index 13da85d..360b16d 100644 --- a/tractor/_discovery.py +++ b/tractor/_discovery.py @@ -42,6 +42,7 @@ async def get_root( **kwargs, ) -> typing.AsyncGenerator[Union[Portal, LocalPortal], None]: host, port = _runtime_vars['_root_mailbox'] + assert host is not None async with _connect_chan(host, port) as chan: async with open_portal(chan, **kwargs) as portal: yield portal