From dcef0c3c5d08f2a21370ea3ec5518a6b08b0246b Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Sat, 19 Aug 2017 21:36:06 -0700 Subject: [PATCH] deploy-ng: Fix for finding Python extension modules when not running the frozen binary in the binary's directory --- direct/src/showutil/FreezeTool.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/direct/src/showutil/FreezeTool.py b/direct/src/showutil/FreezeTool.py index e32f0abdf8..95133008f8 100644 --- a/direct/src/showutil/FreezeTool.py +++ b/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