code: def find_module(self, fullname, submodule_path=None):
          
          # first see if we have this particular so has been loaded by
          # turicreate's extension library before
          ret = self.try_find_module(fullname, submodule_path)
          if ret is not None:
              return ret
          # nope. has not been loaded before
          # lets try to find a ".so" or a ".dylib" if any of the python
          # locations
          import sys
          import os
          # This drops the last "." So if I am importing aaa.bbb.xxx
          # module_subpath is aaa.bbb
          module_subpath = ".".join(fullname.split('.')[:-1])
          for path in sys.path:
              # joins the path to aaa/bbb/xxx
              pathname = os.path.join(path, os.sep.join(fullname.split('.')))
              # try to laod the ".so" extension
              try:
                  if os.path.exists(pathname + '.so'):
                      ext_import(pathname + '.so', module_subpath)
                      break
              except:
                  pass
  
              # try to laod the ".dylib" extension
              try:
                  if os.path.exists(pathname + '.dylib'):
                      ext_import(pathname + '.dylib', module_subpath)
                      break
              except:
                  pass
          ret = self.try_find_module(fullname, submodule_path)
          if ret is not None:
              return ret
docs: We have to see if fullname refers to a module we can import.
          Some care is needed here because:
  
          import xxx   # tries to load xxx.so from any of the python import paths
          import aaa.bbb.xxx # tries to load aaa/bbb/xxx.so from any of the python import paths