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:
Note that the path will be printed relative to the current working directory if it’s a parent directory of the script location.