12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import os
- import sys
- import platform
- from UM.Platform import Platform
- if Platform.isLinux():
-
- if platform.linux_distribution()[0] in ("debian", "Ubuntu", "LinuxMint"):
- import ctypes
- from ctypes.util import find_library
- libGL = find_library("GL")
- ctypes.CDLL(libGL, ctypes.RTLD_GLOBAL)
- if Platform.isWindows() and hasattr(sys, "frozen"):
- try:
- del os.environ["PYTHONPATH"]
- except KeyError: pass
- if "PYTHONPATH" in os.environ.keys():
- PYTHONPATH = os.environ["PYTHONPATH"].split(os.pathsep)
- PYTHONPATH.reverse()
- for PATH in PYTHONPATH:
- PATH_real = os.path.realpath(PATH)
- if PATH_real in sys.path:
- sys.path.remove(PATH_real)
- sys.path.insert(1, PATH_real)
- def exceptHook(hook_type, value, traceback):
- import cura.CrashHandler
- cura.CrashHandler.show(hook_type, value, traceback)
- sys.excepthook = exceptHook
- import Arcus
- import cura.CuraApplication
- import cura.Settings.CuraContainerRegistry
- if Platform.isWindows() and hasattr(sys, "frozen"):
- dirpath = os.path.expanduser("~/AppData/Local/cura/")
- os.makedirs(dirpath, exist_ok = True)
- sys.stdout = open(os.path.join(dirpath, "stdout.log"), "w")
- sys.stderr = open(os.path.join(dirpath, "stderr.log"), "w")
- cura.Settings.CuraContainerRegistry.CuraContainerRegistry.getInstance()
- if not cura.CuraApplication.CuraApplication.preStartUp():
- sys.exit(0)
- app = cura.CuraApplication.CuraApplication.getInstance()
- app.run()
|