eric6/Utilities/__init__.py

changeset 7446
67b21645ffec
parent 7360
9190402e4505
child 7451
f04328aef87a
--- a/eric6/Utilities/__init__.py	Mon Mar 09 19:49:48 2020 +0100
+++ b/eric6/Utilities/__init__.py	Mon Mar 09 19:51:02 2020 +0100
@@ -1853,13 +1853,24 @@
     else:
         if variant == "1":
             return toolname
-        
-        elif toolname == "pyside2-uic":
-            return toolname
         else:
-            import distutils.sysconfig
-            return os.path.join(distutils.sysconfig.get_python_lib(True),
-                                "PySide2", toolname)
+            # step 1: check, if the user has configured a tools path
+            path = Preferences.getQt("PySide2ToolsDir")
+            if path:
+                return os.path.join(path, toolname)
+            
+            # step 2: determine from used Python interpreter
+            dirName = os.path.dirname(sys.executable)
+            if os.path.exists(os.path.join(dirName, toolname)):
+                return os.path.join(dirName, toolname)
+            
+            # step 3: if it is not 'pyside2-uic' look in the package directory
+            if toolname == "pyside2-uic":
+                return toolname
+            else:
+                import distutils.sysconfig
+                return os.path.join(distutils.sysconfig.get_python_lib(True),
+                                    "PySide2", toolname)
 
 
 def checkPyside(variant="2"):

eric ide

mercurial