A few days ago someone filed an issue on pip's tracker that looks like a setuptools issue:
pypa/pip#6288
Basically, it looks like the issue is that find_on_path() (the "distribution finder" corresponding to pkgutil.ImpImporter and FileFinder) can get into a situation where it's calling itself in an (infinite) recursive loop. Also, I believe this is happening in the find_on_path(only=False) case, rather than only=True.