--- a/UI/UserInterface.py Fri Jun 15 11:56:58 2018 +0200 +++ b/UI/UserInterface.py Fri Jun 15 18:49:48 2018 +0200 @@ -238,6 +238,12 @@ # load the view profiles self.profiles = Preferences.getUI("ViewProfiles2") + # Generate the virtual environment manager + from VirtualEnv.VirtualenvManager import VirtualenvManager + self.virtualenvManager = VirtualenvManager(self) + # register it early because it is needed very soon + e5App().registerObject("VirtualEnvManager", self.virtualenvManager) + # Generate the debug server object from Debugger.DebugServer import DebugServer debugServer = DebugServer() @@ -546,9 +552,6 @@ QDesktopServices.setUrlHandler("http", self.handleUrl) QDesktopServices.setUrlHandler("https", self.handleUrl) - from VirtualEnv.VirtualenvManager import VirtualenvManager - self.virtualenvManager = VirtualenvManager(self) - # register all relevant objects splash.showMessage(self.tr("Registering Objects...")) e5App().registerObject("UserInterface", self) @@ -571,7 +574,6 @@ e5App().registerObject("Symbols", self.symbolsViewer) e5App().registerObject("Numbers", self.numbersViewer) e5App().registerObject("DocuViewer", self.codeDocumentationViewer) - e5App().registerObject("VirtualEnvManager", self.virtualenvManager) # list of web addresses serving the versions file self.__httpAlternatives = Preferences.getUI("VersionsUrls6") @@ -5084,9 +5086,15 @@ pythonDocDir = Preferences.getHelp("PythonDocDir") if not pythonDocDir: if Utilities.isWindowsPlatform(): - pythonDocDir = Utilities.getEnvironmentEntry( - "PYTHON3DOCDIR", - os.path.join(os.path.dirname(sys.executable), "doc")) + venvName = Preferences.getDebugger("Python3VirtualEnv") + interpreter = e5App().getObject("VirtualEnvManager")\ + .getVirtualenvInterpreter(venvName) + if interpreter: + default = os.path.join(os.path.dirname(interpreter), "doc") + else: + default = "" + pythonDocDir = \ + Utilities.getEnvironmentEntry("PYTHON3DOCDIR", default) else: pythonDocDir = Utilities.getEnvironmentEntry( "PYTHON3DOCDIR", @@ -5147,11 +5155,13 @@ Private slot to show the Python 2 documentation. """ pythonDocDir = Preferences.getHelp("Python2DocDir") - executable = Preferences.getDebugger("PythonInterpreter") if not pythonDocDir: if Utilities.isWindowsPlatform(): - if executable: - default = os.path.join(os.path.dirname(executable), "doc") + venvName = Preferences.getDebugger("Python2VirtualEnv") + interpreter = e5App().getObject("VirtualEnvManager")\ + .getVirtualenvInterpreter(venvName) + if interpreter: + default = os.path.join(os.path.dirname(interpreter), "doc") else: default = "" pythonDocDir = \