Preferences/ProgramsDialog.py

changeset 6083
fc99172cd83e
parent 6068
97a787b53663
child 6288
67ae52179c8b
--- a/Preferences/ProgramsDialog.py	Mon Jan 22 18:10:56 2018 +0100
+++ b/Preferences/ProgramsDialog.py	Tue Jan 23 17:49:48 2018 +0100
@@ -348,23 +348,28 @@
                         output = str(proc.readAllStandardOutput(),
                                      Preferences.getSystem("IOEncoding"),
                                      'replace')
-                        if versionRe is None:
-                            versionRe = "^{0}".format(
-                                re.escape(versionStartsWith))
-                        versionRe = re.compile(versionRe, re.UNICODE)
-                        for line in output.splitlines():
-                            if versionRe.search(line):
-                                try:
-                                    version = line.split()[versionPosition]
-                                    if versionCleanup:
-                                        version = version[
-                                            versionCleanup[0]:versionCleanup[1]
-                                        ]
-                                    break
-                                except IndexError:
-                                    version = self.tr("(unknown)")
+                        if exeModule and exeModule[0] == "-m" and \
+                                "ImportError:" in output:
+                            version = self.tr("(module not found)")
                         else:
-                            version = self.tr("(unknown)")
+                            if versionRe is None:
+                                versionRe = "^{0}".format(
+                                    re.escape(versionStartsWith))
+                            versionRe = re.compile(versionRe, re.UNICODE)
+                            for line in output.splitlines():
+                                if versionRe.search(line):
+                                    try:
+                                        version = line.split()[versionPosition]
+                                        if versionCleanup:
+                                            version = version[
+                                                versionCleanup[0]:
+                                                versionCleanup[1]
+                                            ]
+                                        break
+                                    except IndexError:
+                                        version = self.tr("(unknown)")
+                            else:
+                                version = self.tr("(unknown)")
                     else:
                         version = self.tr("(not executable)")
                 if exeModule:

eric ide

mercurial