Utilities/BackgroundService.py

changeset 6367
7bc6fc02d981
parent 6348
d6c0b8ab1fc6
child 6373
739683aacc4a
equal deleted inserted replaced
6366:6c1cd7e2902a 6367:7bc6fc02d981
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

eric ide

mercurial