Commits

Steve Borho committed ad7d3f5

setup: help py2exe find win32com.shell

Borrow some modulefinder magic from Mercurial's setup.py script

Fixes #514

Comments (0)

Files changed (1)

     extra = {}
     hgextmods = []
 
-    try: import py2exe
+    # py2exe needs to be installed to work
+    try:
+        import py2exe
+
+        # Help py2exe to find win32com.shell
+        try:
+            import modulefinder
+            import win32com
+            for p in win32com.__path__[1:]: # Take the path to win32comext
+                modulefinder.AddPackagePath("win32com", p)
+            pn = "win32com.shell"
+            __import__(pn)
+            m = sys.modules[pn]
+            for p in m.__path__[1:]:
+                modulefinder.AddPackagePath(pn, p)
+        except ImportError:
+            pass
+
     except ImportError:
         if '--version' not in sys.argv:
             raise
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.