Vom ersten mal importieren habe ich immer gesprochen weil Du *ursprünglich* wissen wolltest von wo Dein Modul importiert wird. Der Quelltext im Modul wird aber nur ausgeführt, wenn es *das erste mal* importiert wird. Jetzt hast Du Deine Anforderungen plötzlich geändert und möchtest wissen von welchem Modul aus eine Funktion aufgerufen wird. Das ist ja nun etwas anderes, weil man das natürlich öfter machen kann. Aber wie gesagt nicht sollte.
Und es funktioniert halt einfach nicht. Beispiel: Das Modul `spam` existiert nicht:
Code: Alles auswählen
import modcheck, sys
missing = modcheck.check_file(check_caller=True)
if missing:
print '...'
import spam, eggs
Mir ist aber auch nicht ganz klar wie Du in der `check_file()` mehr als einen Importfehler erkennen können willst!? Denn auch da könntest Du mit einem ``except ImportError`` ja nur den ersten Fehler abfangen.