eric7/VirtualEnv/VirtualenvInterpreterSelectionDialog.py

branch
eric7
changeset 8986
665d14b3c01a
parent 8980
f49ab2441e1f
child 9144
135240382a3e
diff -r 30e9e592732d -r 665d14b3c01a eric7/VirtualEnv/VirtualenvInterpreterSelectionDialog.py
--- a/eric7/VirtualEnv/VirtualenvInterpreterSelectionDialog.py	Tue Mar 15 19:52:29 2022 +0100
+++ b/eric7/VirtualEnv/VirtualenvInterpreterSelectionDialog.py	Wed Mar 16 18:57:58 2022 +0100
@@ -19,8 +19,9 @@
     Ui_VirtualenvInterpreterSelectionDialog
 )
 
+import Globals
 
-# TODO: add code to autodetect a Python interpreter
+
 class VirtualenvInterpreterSelectionDialog(
         QDialog, Ui_VirtualenvInterpreterSelectionDialog):
     """
@@ -46,7 +47,26 @@
             self.tr("Python Interpreter"))
         
         self.nameEdit.setText(venvName)
-        self.pythonExecPicker.setText(venvDirectory)
+        
+        if venvDirectory:
+            # try to determine a Python interpreter name
+            if Globals.isWindowsPlatform():
+                candidates = (
+                    os.path.join(venvDirectory, "Scripts", "python.exe"),
+                    os.path.join(venvDirectory, "python.exe"),
+                )
+            else:
+                candidates = (
+                    os.path.join(venvDirectory, "bin", "python3"),
+                )
+            for py in candidates:
+                if os.path.exists(py):
+                    self.pythonExecPicker.setText(py)
+                    break
+            else:
+                self.pythonExecPicker.setText(venvDirectory)
+        else:
+            self.pythonExecPicker.setText(venvDirectory)
     
     def __updateOK(self):
         """

eric ide

mercurial