Hmm, I started to work on this, and then I began to wonder about the wisdom of allowing `AppConfig.path` to ever be `None`. I think we may already have code in Django itself (for instance, the code I wrote for `AppDirectoriesFinder` yesterday) that would crash if any apps had a `path` of `None`, because it doesn't check `if app_config.path` before trying to call `os.path.join` on it. I wouldn't be surprised if there are other such cases, and I'd be very surprised if lots of third-party code doesn't end up being written that fails to account for this case.

As far as I know, in any situation where `app_module.__path__` would be empty or not exist, that app would almost certainly not have worked pre-app-loading anyway, when we relied on `app_module.__file__`. So couldn't we instead just raise `ImproperlyConfigured` in case of an app where no path can be deduced from the module, and no path attribute is explicitly supplied on the `AppConfig`?