12 str = unicode # __IGNORE_WARNING__ |
12 str = unicode # __IGNORE_WARNING__ |
13 except NameError: |
13 except NameError: |
14 pass |
14 pass |
15 |
15 |
16 import os |
16 import os |
|
17 import sys |
17 |
18 |
18 from PyQt5.QtCore import pyqtSlot |
19 from PyQt5.QtCore import pyqtSlot |
19 from PyQt5.QtWidgets import QMenu, QApplication, QAction |
20 from PyQt5.QtWidgets import QMenu, QApplication, QAction |
20 from PyQt5.Qsci import QsciScintilla |
21 from PyQt5.Qsci import QsciScintilla |
21 |
22 |
2063 ok = False |
2064 ok = False |
2064 |
2065 |
2065 if self.__projectLanguage.startswith("Python"): |
2066 if self.__projectLanguage.startswith("Python"): |
2066 try: |
2067 try: |
2067 # new code using virtual environments |
2068 # new code using virtual environments |
|
2069 venvManager = e5App().getObject("VirtualEnvManager") |
|
2070 |
2068 # get virtual environment from project first |
2071 # get virtual environment from project first |
2069 venvName = self.__e5project.getDebugProperty("VIRTUALENV") |
2072 venvName = self.__e5project.getDebugProperty("VIRTUALENV") |
2070 if not venvName: |
2073 if not venvName: |
2071 # get it from debugger settings next |
2074 # get it from debugger settings next |
2072 if self.__projectLanguage == "Python2": |
2075 if self.__projectLanguage == "Python2": |
2073 # Python 2 |
2076 # Python 2 |
2074 venvName = Preferences.getDebugger("Python2VirtualEnv") |
2077 venvName = Preferences.getDebugger("Python2VirtualEnv") |
|
2078 if not venvName and sys.version_info[0] == 2: |
|
2079 try: |
|
2080 venvName, _ = \ |
|
2081 venvManager.getDefaultEnvironment() |
|
2082 except AttributeError: |
|
2083 # ignore for eric6 < 18.10 |
|
2084 pass |
2075 elif self.__projectLanguage == "Python3": |
2085 elif self.__projectLanguage == "Python3": |
2076 # Python 3 |
2086 # Python 3 |
2077 venvName = Preferences.getDebugger("Python3VirtualEnv") |
2087 venvName = Preferences.getDebugger("Python3VirtualEnv") |
|
2088 if not venvName and sys.version_info[0] == 3: |
|
2089 try: |
|
2090 venvName, _ = \ |
|
2091 venvManager.getDefaultEnvironment() |
|
2092 except AttributeError: |
|
2093 # ignore for eric6 < 18.10 |
|
2094 pass |
2078 else: |
2095 else: |
2079 venvName = "" |
2096 venvName = "" |
2080 if venvName: |
2097 if venvName: |
2081 interpreter = e5App().getObject("VirtualEnvManager")\ |
2098 interpreter = \ |
2082 .getVirtualenvInterpreter(venvName) |
2099 venvManager.getVirtualenvInterpreter(venvName) |
2083 else: |
2100 else: |
2084 interpreter = "" |
2101 interpreter = "" |
2085 except KeyError: |
2102 except KeyError: |
2086 # backward compatibility (eric <18.07) |
2103 # backward compatibility (eric < 18.07) |
2087 # get interpreter from project first |
2104 # get interpreter from project first |
2088 interpreter = self.__e5project.getDebugProperty("INTERPRETER") |
2105 interpreter = self.__e5project.getDebugProperty("INTERPRETER") |
2089 if not interpreter or not Utilities.isinpath(interpreter): |
2106 if not interpreter or not Utilities.isinpath(interpreter): |
2090 # get it from debugger settings second |
2107 # get it from debugger settings second |
2091 if self.__projectLanguage == "Python2": |
2108 if self.__projectLanguage == "Python2": |