Anthony Tuininga avatar Anthony Tuininga committed d9461c3 Merge

Merged in bfroehle/cx_freeze (pull request #17)

Avoid polluting extension module namespace.

Comments (0)

Files changed (1)

cx_Freeze/freezer.py

 
 EXTENSION_LOADER_SOURCE = \
 """
-import imp, os, sys
+def __bootstrap__():
+    import imp, os, sys
+    global __bootstrap__, __loader__
+    __loader__ = None; del __bootstrap__, __loader__
 
-found = False
-for p in sys.path:
-    if not os.path.isdir(p):
-        continue
-    f = os.path.join(p, "%s")
-    if not os.path.exists(f):
-        continue
-    m = imp.load_dynamic(__name__, f)
-    import sys
-    sys.modules[__name__] = m
-    found = True
-    break
-if not found:
-    del sys.modules[__name__]
-    raise ImportError("No module named %%s" %% __name__)
+    found = False
+    for p in sys.path:
+        if not os.path.isdir(p):
+            continue
+        f = os.path.join(p, "%s")
+        if not os.path.exists(f):
+            continue
+        m = imp.load_dynamic(__name__, f)
+        import sys
+        sys.modules[__name__] = m
+        found = True
+        break
+    if not found:
+        del sys.modules[__name__]
+        raise ImportError("No module named %%s" %% __name__)
+__bootstrap__()
 """
 
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.