From 7ed5add0de1e0db3b2f0f580384ff1858680d715 Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Sat, 26 Nov 2016 22:59:40 +0100 Subject: [PATCH] Activate condaenv in terminal (PY-21643) --- .../jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python/python-terminal/src/com/jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt b/python/python-terminal/src/com/jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt index ce65647e13b5..45e0f13f3c96 100644 --- a/python/python-terminal/src/com/jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt +++ b/python/python-terminal/src/com/jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt @@ -41,7 +41,8 @@ class PyVirtualEnvTerminalCustomizer : LocalTerminalCustomizer() { envs: MutableMap): Array { val sdk: Sdk? = findSdk(project) - if (sdk != null && PythonSdkType.isVirtualEnv(sdk) && PyVirtualEnvTerminalSettings.getInstance(project).virtualEnvActivate) { + if (sdk != null && (PythonSdkType.isVirtualEnv(sdk) || PythonSdkType.isCondaVirtualEnv( + sdk)) && PyVirtualEnvTerminalSettings.getInstance(project).virtualEnvActivate) { // in case of virtualenv sdk on unix we activate virtualenv val path = sdk.homePath @@ -50,7 +51,8 @@ class PyVirtualEnvTerminalCustomizer : LocalTerminalCustomizer() { val shellPath = command[0] val shellName = File(shellPath).name - if (shellName == "bash" || (SystemInfo.isMac && shellName == "sh") || (shellName == "zsh") || (shellName == "fish")) { + if (shellName == "bash" || (SystemInfo.isMac && shellName == "sh") || (shellName == "zsh") || + ((shellName == "fish") && PythonSdkType.isVirtualEnv(sdk))) { //fish shell works only for virtualenv and not for conda //for bash we pass activate script to jediterm shell integration (see jediterm-bash.in) to source it there findActivateScript(path, shellPath)?.let { activate -> envs.put("JEDITERM_SOURCE", activate) } }