The extension of IOError with the file name is now closer to where it happens. (I had a problem with a missconfigured extension. I will dig into this later.) And there is a test case for a python hook pointing to a non existing file and one pointing to a directory which is not a python module.