On the macintosh don't take a quick exit in find_module() for frozen submodule imports: the frozen import goes through a different mechanism.
diff --git a/Python/import.c b/Python/import.c
index 81b5067..9f668bf 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -893,6 +893,13 @@
strcat(buf, ".");
strcat(buf, name);
strcpy(name, buf);
+#ifdef macintosh
+ /* Freezing on the mac works different, and the modules are
+ ** actually on sys.path. So we don't take the quick exit but
+ ** continue with the normal flow.
+ */
+ path = NULL;
+#else
if (find_frozen(name) != NULL) {
strcpy(buf, name);
return &fd_frozen;
@@ -900,6 +907,7 @@
PyErr_Format(PyExc_ImportError,
"No frozen submodule named %.200s", name);
return NULL;
+#endif
}
if (path == NULL) {
if (is_builtin(name)) {