Utilities/__init__.py

changeset 1839
03b44e1c67e6
parent 1814
2da3b3749cac
child 1841
2f9e28e56c1b
--- a/Utilities/__init__.py	Sat May 05 12:08:41 2012 +0200
+++ b/Utilities/__init__.py	Sat May 05 14:54:17 2012 +0200
@@ -1368,20 +1368,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