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 |