Browse Source

deploy-ng: Only pass optimize=2 to compile() if the Python version is >=3.2

Fixes #388
Mitchell Stokes 7 years ago
parent
commit
a2cb552375
1 changed files with 4 additions and 1 deletions
  1. 4 1
      direct/src/showutil/FreezeTool.py

+ 4 - 1
direct/src/showutil/FreezeTool.py

@@ -1763,7 +1763,10 @@ class Freezer:
                     code = 'import sys;del sys.modules["%s"];import sys,os,imp;imp.load_dynamic("%s",os.path.join(sys.path[0], "%s%s"))' % (moduleName, moduleName, moduleName, modext)
                     code = 'import sys;del sys.modules["%s"];import sys,os,imp;imp.load_dynamic("%s",os.path.join(sys.path[0], "%s%s"))' % (moduleName, moduleName, moduleName, modext)
                 else:
                 else:
                     code = 'import sys;del sys.modules["%s"];import sys,os,imp;imp.load_dynamic("%s",os.path.join(os.path.dirname(sys.executable), "%s%s"))' % (moduleName, moduleName, moduleName, modext)
                     code = 'import sys;del sys.modules["%s"];import sys,os,imp;imp.load_dynamic("%s",os.path.join(os.path.dirname(sys.executable), "%s%s"))' % (moduleName, moduleName, moduleName, modext)
-                code = compile(code, moduleName, 'exec', optimize=2)
+                if sys.version_info >= (3, 2):
+                    code = compile(code, moduleName, 'exec', optimize=2)
+                else:
+                    code = compile(code, moduleName, 'exec')
                 code = marshal.dumps(code)
                 code = marshal.dumps(code)
                 moduleList.append((moduleName, len(pool), len(code)))
                 moduleList.append((moduleName, len(pool), len(code)))
                 pool += code
                 pool += code