["python"]
Where is module being imported from?

Assuming I have two Python modules and path_b is in the import path: # file: path_b/my_module.py print "I was imported from ???" #file: path_a/app.py import my_module Is it possible to see where the module is imported from? I want an output like "I was imported from path_a/app.py", if I start app.py (because I need the file name). Edit: For better understanding; I could write: # file: path_b/my_module.py def foo(file): print "I was imported from %s" % file #file: path_a/app.py import my_module my_module.foo(__file__) So the output would be: $> python path_app.py I was imported from path_a/app.py
There may be an easier way to do this, but this works: import inspect print(inspect.getframeinfo(inspect.getouterframes(inspect.currentframe())[1][0])[0]) Note that the path will be printed relative to the current working directory if it's a parent directory of the script location.