Utilities/__init__.py

branch
5_2_x
changeset 1840
7c1e74e196a9
parent 1815
6ed2ac61a108
child 1842
4113dcd158eb
--- a/Utilities/__init__.py	Sat May 05 12:08:41 2012 +0200
+++ b/Utilities/__init__.py	Sat May 05 14:54:17 2012 +0200
@@ -1340,20 +1340,27 @@
     
     @return flag indicating the presence of PySide (boolean)
     """
-    interpreter = Preferences.getDebugger("PythonInterpreter")
-    if interpreter == "" or not isinpath(interpreter):
-        return False
-    
-    checker = os.path.join(getConfig('ericDir'),
-                           "UtilitiesPython2", "PySideImporter.py")
-    args = [checker]
-    proc = QProcess()
-    proc.setProcessChannelMode(QProcess.MergedChannels)
-    proc.start(interpreter, args)
-    finished = proc.waitForFinished(30000)
-    if finished:
-        if proc.exitCode() == 0:
-            return True
+    try:
+        # step 1: try Python3 variant of PySide
+        import PySide       # __IGNORE_EXCEPTION__
+        del PySide
+        return True
+    except ImportError:
+        # step 2: check for a Python2 variant
+        interpreter = Preferences.getDebugger("PythonInterpreter")
+        if interpreter == "" or not isinpath(interpreter):
+            return False
+        
+        checker = os.path.join(getConfig('ericDir'),
+                               "UtilitiesPython2", "PySideImporter.py")
+        args = [checker]
+        proc = QProcess()
+        proc.setProcessChannelMode(QProcess.MergedChannels)
+        proc.start(interpreter, args)
+        finished = proc.waitForFinished(30000)
+        if finished:
+            if proc.exitCode() == 0:
+                return True
     
     return False
 

eric ide

mercurial