Bladeren bron

deploy-ng: Fix for finding Python extension modules when not running the frozen binary in the binary's directory

Mitchell Stokes 8 jaren geleden
bovenliggende
commit
dcef0c3c5d
1 gewijzigde bestanden met toevoegingen van 2 en 1 verwijderingen
  1. 2 1
      direct/src/showutil/FreezeTool.py

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

@@ -1658,7 +1658,8 @@ class Freezer:
             # trouble importing it as a builtin module.  Synthesize a frozen
             # module that loads it dynamically.
             if '.' in moduleName:
-                code = compile('import sys;del sys.modules["%s"];import imp;imp.load_dynamic("%s", "%s%s")' % (moduleName, moduleName, moduleName, modext), moduleName, 'exec')
+                code = 'import sys;import os;del sys.modules["%s"];import imp;imp.load_dynamic("%s",os.path.join(os.path.dirname(sys.executable), "%s%s"))' % (moduleName, moduleName, moduleName, modext)
+                code = compile(code, moduleName, 'exec')
                 code = marshal.dumps(code)
                 moduleList.append(make_module_list_entry(code, codeOffset, moduleName, module))
                 moduleBlob += code