code: def import_module_from_name(modname):
      
      if True:
          # See if this fixes the Docker issue we saw but were unable to
          # reproduce on another environment. Either way its better to use the
          # standard importlib implementation than the one I wrote a long time
          # ago.
          import importlib
          module = importlib.import_module(modname)
      else:
          # The __import__ statment is weird
          if '.' in modname:
              fromlist = modname.split('.')[-1]
              fromlist_ = list(map(str, fromlist))  # needs to be ascii for python2.7
              module = __import__(modname, {}, {}, fromlist_, 0)
          else:
              module = __import__(modname, {}, {}, [], 0)
      return module
docs: Imports a module from its string name (__name__)
  
      Args:
          modname (str):  module name
  
      Returns:
          module: module
  
      Example:
          >>> # test with modules that wont be imported in normal circumstances
          >>> # todo write a test where we gaurentee this
          >>> modname_list = [
          >>>     'pickletools',
          >>>     'lib2to3.fixes.fix_apply',
          >>> ]
          >>> #assert not any(m in sys.modules for m in modname_list)
          >>> modules = [import_module_from_name(modname) for modname in modname_list]
          >>> assert [m.__name__ for m in modules] == modname_list
          >>> assert all(m in sys.modules for m in modname_list)