I have observed this behaviour, for some reason only on OS X (and Python 3.5.1): I use importlib.machinery.SourceFileLoader to load a long list of modules. The modules are not located in the loader path, and many of them have the same name, i.e. I would have:
m1 = importlib.machinery.SourceFileLoader("Module","path/to/m1/Module.py") m2 = importlib.machinery.SourceFileLoader("Module","path/to/m2/Module.py") Sometimes the modules will contain members from other modules with the same name, e.g. m1/module.py would define a function "m1func" that does not exist in m2/module.py, but the function would appear in m2, and examining m2.m1func.__code__.co_filename shows that it comes from m1. Members that are defined in both m1 and m2 are not overwritten, though. Is this a bug in importlib.machinery.SourceFileLoader or are we in the Land of Undefined Behaviour here? -- https://mail.python.org/mailman/listinfo/python-list