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

Reply via email to