File: setupInitScriptWindows.py

package info (click to toggle)
meshroom 2025.1.1-1
  • links: PTS, VCS
  • area: contrib
  • in suites: sid
  • size: 5,196 kB
  • sloc: python: 14,951; javascript: 105; sh: 103; modula3: 53; makefile: 28
file content (34 lines) | stat: -rw-r--r-- 1,228 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import os
import sys
import zipimport

FILE_NAME = sys.executable
DIR_NAME = os.path.dirname(sys.executable)

paths = os.environ.get("ALICEVISION_LIBPATH", "").split(os.pathsep)
if DIR_NAME not in paths:
    paths.insert(0, DIR_NAME)
    paths.insert(0, os.path.join(DIR_NAME, "lib"))
    paths.insert(0, os.path.join(DIR_NAME, "aliceVision", "lib"))
    paths.insert(0, os.path.join(DIR_NAME, "aliceVision", "bin"))

    os.environ["ALICEVISION_LIBPATH"] = os.pathsep.join(paths)
    os.environ["PYTHONPATH"] = os.path.join(DIR_NAME, "aliceVision", "lib", "python") + os.pathsep + os.path.join(DIR_NAME, "aliceVision", "lib", "python3.11", "site-packages")
    os.execv(sys.executable, sys.argv)

sys.frozen = True
sys.path = sys.path[:5]

def run(*args):
    m = __import__("__main__")
    importer = zipimport.zipimporter(DIR_NAME + "/lib/library.zip")
    if len(args) == 0:
        name, ext = os.path.splitext(os.path.basename(os.path.normcase(FILE_NAME)))
        moduleName = "%s__main__" % name
    else:
        moduleName = args[0]
    pythonPaths = os.getenv("PYTHONPATH", "").split(os.pathsep)
    for p in pythonPaths:
        sys.path.append(p)
    code = importer.get_code(moduleName)
    exec(code, m.__dict__)