src/eric7/Utilities/BackgroundService.py

branch
eric7
changeset 9317
bf8135417cd3
parent 9221
bf71ee032bb4
child 9328
49a0a9cb2505
equal deleted inserted replaced
9316:53ab4cd68b5b 9317:bf8135417cd3
67 67
68 port = self.serverPort() 68 port = self.serverPort()
69 ## Note: Need the port if started external in debugger: 69 ## Note: Need the port if started external in debugger:
70 print("Background Service listening on: {0:d}".format(port)) 70 print("Background Service listening on: {0:d}".format(port))
71 # __IGNORE_WARNING__ 71 # __IGNORE_WARNING__
72
73 interpreter = self.__getPythonInterpreter()
74 if interpreter:
75 process = self.__startExternalClient(interpreter, port)
76 if process:
77 self.processes["Python3"] = process, interpreter
78
79 def __getPythonInterpreter(self):
80 """
81 Private method to generate the path of the Python interpreter to be
82 used to run the background client.
83
84 @return path of the Python interpreter
85 @rtype str
86 """
72 venvName = Preferences.getDebugger("Python3VirtualEnv") 87 venvName = Preferences.getDebugger("Python3VirtualEnv")
73 interpreter = ( 88 interpreter = (
74 ericApp().getObject("VirtualEnvManager").getVirtualenvInterpreter(venvName) 89 ericApp().getObject("VirtualEnvManager").getVirtualenvInterpreter(venvName)
75 ) 90 )
76 if not interpreter: 91 if not interpreter:
77 interpreter = Globals.getPythonExecutable() 92 interpreter = Globals.getPythonExecutable()
78 if interpreter: 93 return interpreter
79 process = self.__startExternalClient(interpreter, port)
80 if process:
81 self.processes["Python3"] = process, interpreter
82 94
83 def __startExternalClient(self, interpreter, port): 95 def __startExternalClient(self, interpreter, port):
84 """ 96 """
85 Private method to start the background client as external process. 97 Private method to start the background client as external process.
86 98
275 287
276 def preferencesOrProjectChanged(self): 288 def preferencesOrProjectChanged(self):
277 """ 289 """
278 Public slot to restart the built in languages. 290 Public slot to restart the built in languages.
279 """ 291 """
280 venvName = Preferences.getDebugger("Python3VirtualEnv") 292 interpreter = self.__getPythonInterpreter()
281 interpreter = (
282 ericApp().getObject("VirtualEnvManager").getVirtualenvInterpreter(venvName)
283 )
284 if not interpreter:
285 interpreter = Globals.getPythonExecutable()
286 293
287 # Tweak the processes list to reflect the changed interpreter 294 # Tweak the processes list to reflect the changed interpreter
288 proc, inter = self.processes.pop("Python3", [None, None]) 295 proc, inter = self.processes.pop("Python3", [None, None])
289 self.processes["Python3"] = proc, interpreter 296 self.processes["Python3"] = proc, interpreter
290 297

eric ide

mercurial