2061 self.__projectLanguage = self.__e5project.getProjectLanguage() |
2061 self.__projectLanguage = self.__e5project.getProjectLanguage() |
2062 |
2062 |
2063 ok = False |
2063 ok = False |
2064 |
2064 |
2065 if self.__projectLanguage.startswith("Python"): |
2065 if self.__projectLanguage.startswith("Python"): |
2066 # get interpreter from project first |
2066 try: |
2067 interpreter = self.__e5project.getDebugProperty("INTERPRETER") |
2067 # new code using virtual environments |
2068 if not interpreter or not Utilities.isinpath(interpreter): |
2068 # get virtual environment from project first |
2069 # get it from debugger settings second |
2069 venvName = self.__e5project.getDebugProperty("VIRTUALENV") |
2070 if self.__projectLanguage == "Python2": |
2070 if not venvName: |
2071 interpreter = Preferences.getDebugger("PythonInterpreter") |
2071 # get it from debugger settings next |
2072 elif self.__projectLanguage == "Python3": |
2072 if self.__projectLanguage == "Python2": |
2073 interpreter = Preferences.getDebugger("Python3Interpreter") |
2073 # Python 2 |
|
2074 venvName = Preferences.getDebugger("Python2VirtualEnv") |
|
2075 elif self.__projectLanguage == "Python3": |
|
2076 # Python 3 |
|
2077 venvName = Preferences.getDebugger("Python3VirtualEnv") |
|
2078 else: |
|
2079 venvName = "" |
|
2080 if venvName: |
|
2081 interpreter = e5App().getObject("VirtualEnvManager")\ |
|
2082 .getVirtualenvInterpreter(venvName) |
2074 else: |
2083 else: |
2075 interpreter = "" |
2084 interpreter = "" |
|
2085 except KeyError: |
|
2086 # backward compatibility (eric <18.07) |
|
2087 # get interpreter from project first |
|
2088 interpreter = self.__e5project.getDebugProperty("INTERPRETER") |
|
2089 if not interpreter or not Utilities.isinpath(interpreter): |
|
2090 # get it from debugger settings second |
|
2091 if self.__projectLanguage == "Python2": |
|
2092 interpreter = Preferences.getDebugger( |
|
2093 "PythonInterpreter") |
|
2094 elif self.__projectLanguage == "Python3": |
|
2095 interpreter = Preferences.getDebugger( |
|
2096 "Python3Interpreter") |
|
2097 else: |
|
2098 interpreter = "" |
2076 if interpreter: |
2099 if interpreter: |
2077 ok = self.__startRefactoringClient(interpreter) |
2100 ok = self.__startRefactoringClient(interpreter) |
2078 if not ok: |
2101 if not ok: |
2079 self.__ui.appendToStderr(self.tr( |
2102 self.__ui.appendToStderr(self.tr( |
2080 "Project language '{0}' is not supported because" |
2103 "Project language '{0}' is not supported because" |