diff --git a/python/src/com/jetbrains/python/sdk/add/PyAddSdkDialog.kt b/python/src/com/jetbrains/python/sdk/add/PyAddSdkDialog.kt index 85885bc2da94..16b8d7959675 100644 --- a/python/src/com/jetbrains/python/sdk/add/PyAddSdkDialog.kt +++ b/python/src/com/jetbrains/python/sdk/add/PyAddSdkDialog.kt @@ -55,7 +55,7 @@ class PyAddSdkDialog(private val project: Project?, .filter { it.sdkType is PythonSdkType && !PythonSdkType.isInvalid(it) } .sortedWith(PreferredSdkComparator()) return createCardSplitter(listOf(createVirtualEnvPanel(project, sdks, newProjectPath), - createAnacondaPanel(), + createAnacondaPanel(project), PyAddSystemWideInterpreterPanel(existingSdks))) } @@ -101,10 +101,10 @@ class PyAddSdkDialog(private val project: Project?, private fun createVirtualEnvPanel(project: Project?, existingSdks: List, newProjectPath: String?): PyAddSdkPanel { - val newVirtualEnvPanel = if (project != null || PlatformUtils.isPyCharmEducational()) - PyAddNewVirtualEnvPanel(project, existingSdks, newProjectPath) - else - null + val newVirtualEnvPanel = when { + allowCreatingNewEnvironments(project) -> PyAddNewVirtualEnvPanel(project, existingSdks, newProjectPath) + else -> null + } val existingVirtualEnvPanel = PyAddExistingVirtualEnvPanel(project, existingSdks, newProjectPath) val panels = listOf(newVirtualEnvPanel, existingVirtualEnvPanel) @@ -117,9 +117,9 @@ class PyAddSdkDialog(private val project: Project?, return PyAddSdkGroupPanel("Virtualenv environment", PythonIcons.Python.Virtualenv, panels, defaultPanel) } - private fun createAnacondaPanel(): PyAddSdkPanel { + private fun createAnacondaPanel(project: Project?): PyAddSdkPanel { val newCondaEnvPanel = when { - project != null || PlatformUtils.isPyCharmEducational() -> PyAddNewCondaEnvPanel(project, existingSdks, newProjectPath) + allowCreatingNewEnvironments(project) -> PyAddNewCondaEnvPanel(project, existingSdks, newProjectPath) else -> null } val panels = listOf(newCondaEnvPanel, @@ -127,4 +127,9 @@ class PyAddSdkDialog(private val project: Project?, .filterNotNull() return PyAddSdkGroupPanel("Conda environment", PythonIcons.Python.Anaconda, panels, panels[0]) } + + companion object { + private fun allowCreatingNewEnvironments(project: Project?) = + project != null || !PlatformUtils.isPyCharm() || PlatformUtils.isPyCharmEducational() + } }