mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-13 06:19:02 +08:00
Merge pull request #710 from thopiekar/pythonpath-fix-reworked
[master] PYTHONPATH fix reworked
This commit is contained in:
commit
198c4ba8cf
17
cura_app.py
17
cura_app.py
@ -3,8 +3,25 @@
|
|||||||
# Copyright (c) 2015 Ultimaker B.V.
|
# Copyright (c) 2015 Ultimaker B.V.
|
||||||
# Cura is released under the terms of the AGPLv3 or higher.
|
# Cura is released under the terms of the AGPLv3 or higher.
|
||||||
|
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
#WORKAROUND: GITHUB-704 GITHUB-708
|
||||||
|
# It looks like setuptools creates a .pth file in
|
||||||
|
# the default /usr/lib which causes the default site-packages
|
||||||
|
# to be inserted into sys.path before PYTHONPATH.
|
||||||
|
# This can cause issues such as having libsip loaded from
|
||||||
|
# the system instead of the one provided with Cura, which causes
|
||||||
|
# incompatibility issues with libArcus
|
||||||
|
if "PYTHONPATH" in os.environ.keys(): # If PYTHONPATH is used
|
||||||
|
PYTHONPATH = os.environ["PYTHONPATH"].split(os.pathsep) # Get the value, split it..
|
||||||
|
PYTHONPATH.reverse() # and reverse it, because we always insert at 1
|
||||||
|
for PATH in PYTHONPATH: # Now beginning with the last PATH
|
||||||
|
PATH_real = os.path.realpath(PATH) # Making the the path "real"
|
||||||
|
if PATH_real in sys.path: # This should always work, but keep it to be sure..
|
||||||
|
sys.path.remove(PATH_real)
|
||||||
|
sys.path.insert(1, PATH_real) # Insert it at 1 after os.curdir, which is 0.
|
||||||
|
|
||||||
def exceptHook(hook_type, value, traceback):
|
def exceptHook(hook_type, value, traceback):
|
||||||
import cura.CrashHandler
|
import cura.CrashHandler
|
||||||
cura.CrashHandler.show(hook_type, value, traceback)
|
cura.CrashHandler.show(hook_type, value, traceback)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user