RefactoringRope/RefactoringServer.py

changeset 280
45f0a0511acd
parent 275
45ac265bee4b
child 285
247d62c682dc
--- a/RefactoringRope/RefactoringServer.py	Sat Aug 11 15:54:39 2018 +0200
+++ b/RefactoringRope/RefactoringServer.py	Sun Sep 16 13:13:51 2018 +0200
@@ -14,6 +14,7 @@
     pass
 
 import os
+import sys
 
 from PyQt5.QtCore import pyqtSlot
 from PyQt5.QtWidgets import QMenu, QApplication, QAction
@@ -2065,6 +2066,8 @@
         if self.__projectLanguage.startswith("Python"):
             try:
                 # new code using virtual environments
+                venvManager = e5App().getObject("VirtualEnvManager")
+                
                 # get virtual environment from project first
                 venvName = self.__e5project.getDebugProperty("VIRTUALENV")
                 if not venvName:
@@ -2072,18 +2075,32 @@
                     if self.__projectLanguage == "Python2":
                         # Python 2
                         venvName = Preferences.getDebugger("Python2VirtualEnv")
+                        if not venvName and sys.version_info[0] == 2:
+                            try:
+                                venvName, _ = \
+                                    venvManager.getDefaultEnvironment()
+                            except AttributeError:
+                                # ignore for eric6 < 18.10
+                                pass
                     elif self.__projectLanguage == "Python3":
                         # Python 3
                         venvName = Preferences.getDebugger("Python3VirtualEnv")
+                        if not venvName and sys.version_info[0] == 3:
+                            try:
+                                venvName, _ = \
+                                    venvManager.getDefaultEnvironment()
+                            except AttributeError:
+                                # ignore for eric6 < 18.10
+                                pass
                     else:
                         venvName = ""
                 if venvName:
-                    interpreter = e5App().getObject("VirtualEnvManager")\
-                        .getVirtualenvInterpreter(venvName)
+                    interpreter = \
+                        venvManager.getVirtualenvInterpreter(venvName)
                 else:
                     interpreter = ""
             except KeyError:
-                # backward compatibility (eric <18.07)
+                # backward compatibility (eric < 18.07)
                 # get interpreter from project first
                 interpreter = self.__e5project.getDebugProperty("INTERPRETER")
                 if not interpreter or not Utilities.isinpath(interpreter):

eric ide

mercurial