71 for pyName in ['Python2', 'Python3']: |
71 for pyName in ['Python2', 'Python3']: |
72 venvName = Preferences.getDebugger( |
72 venvName = Preferences.getDebugger( |
73 pyName + "VirtualEnv") |
73 pyName + "VirtualEnv") |
74 interpreter = e5App().getObject("VirtualEnvManager")\ |
74 interpreter = e5App().getObject("VirtualEnvManager")\ |
75 .getVirtualenvInterpreter(venvName) |
75 .getVirtualenvInterpreter(venvName) |
|
76 if not interpreter and int(pyName[-1]) == sys.version_info[0]: |
|
77 interpreter = sys.executable |
76 if interpreter: |
78 if interpreter: |
77 process = self.__startExternalClient(interpreter, port) |
79 process = self.__startExternalClient(interpreter, port) |
78 if process: |
80 if process: |
79 self.processes[pyName] = process, interpreter |
81 self.processes[pyName] = process, interpreter |
80 |
82 |
245 |
247 |
246 def preferencesOrProjectChanged(self): |
248 def preferencesOrProjectChanged(self): |
247 """ |
249 """ |
248 Public slot to restart the built in languages. |
250 Public slot to restart the built in languages. |
249 """ |
251 """ |
250 for pyName in ['Python', 'Python3']: |
252 for pyName in ['Python2', 'Python3']: |
251 interpreter = Preferences.getDebugger( |
253 venvName = Preferences.getDebugger( |
252 pyName + "Interpreter") |
254 pyName + "VirtualEnv") |
253 |
255 interpreter = e5App().getObject("VirtualEnvManager")\ |
254 if pyName == 'Python': |
256 .getVirtualenvInterpreter(venvName) |
255 pyName = 'Python2' |
257 if not interpreter and int(pyName[-1]) == sys.version_info[0]: |
|
258 interpreter = sys.executable |
256 |
259 |
257 # Tweak the processes list to reflect the changed interpreter |
260 # Tweak the processes list to reflect the changed interpreter |
258 proc, inter = self.processes.pop(pyName, [None, None]) |
261 proc, inter = self.processes.pop(pyName, [None, None]) |
259 self.processes[pyName] = proc, interpreter |
262 self.processes[pyName] = proc, interpreter |
260 |
263 |
282 conn.blockSignals(True) |
285 conn.blockSignals(True) |
283 conn.close() |
286 conn.close() |
284 if proc: |
287 if proc: |
285 proc.close() |
288 proc.close() |
286 |
289 |
287 port = self.serverPort() |
290 if interpreter: |
288 process = self.__startExternalClient(interpreter, port) |
291 port = self.serverPort() |
289 if process: |
292 process = self.__startExternalClient(interpreter, port) |
290 self.processes[language] = process, interpreter |
293 if process: |
|
294 self.processes[language] = process, interpreter |
291 |
295 |
292 def enqueueRequest(self, fx, lang, fn, data): |
296 def enqueueRequest(self, fx, lang, fn, data): |
293 """ |
297 """ |
294 Public method implementing a queued processing of incomming events. |
298 Public method implementing a queued processing of incomming events. |
295 |
299 |