Commit d7207c7b authored by Ilya.Kazakevich's avatar Ilya.Kazakevich Committed by intellij-monorepo-bot
Browse files

Get rid of Conda detection

Conda is not "local python" anymore, hence can't be detected. We could detect conda binary, but there is no reason to create SDK for all its envs

GitOrigin-RevId: 294b15963c39a8ca1c7f880539a0758eddf1adab
parent 96c3efd4
Branches unavailable Tags unavailable
No related merge requests found
Showing with 4 additions and 26 deletions
+4 -26
......@@ -158,15 +158,6 @@ internal class PythonSdkConfigurator : DirectoryProjectConfigurator {
return
}
guardIndicator(indicator) { detectCondaEnvs(module, existingSdks, context).firstOrNull() }?.let {
val newSdk = it.setupAssociated(existingSdks, module.basePath) ?: return
runInEdt {
SdkConfigurationUtil.addSdk(newSdk)
setReadyToUseSdk(project, module, newSdk)
}
return
}
if (indicator.isCanceled) return
}
......
......@@ -238,9 +238,6 @@ public final class PyInterpreterInspection extends PyInspection {
if (PyCondaSdkCustomizer.Companion.getInstance().getSuggestSharedCondaEnvironments()) {
final var sharedCondaEnv = PySdkExtKt.mostPreferred(PySdkExtKt.filterSharedCondaEnvs(module, existingSdks));
if (sharedCondaEnv != null) return new UseExistingInterpreterFix(sharedCondaEnv, module);
final var detectedCondaEnv = ContainerUtil.getFirstItem(PySdkExtKt.detectCondaEnvs(module, existingSdks, context));
if (detectedCondaEnv != null) return new UseDetectedInterpreterFix(detectedCondaEnv, existingSdks, false, module);
}
final var systemWideSdk = PySdkExtKt.mostPreferred(PySdkExtKt.filterSystemWideSdks(existingSdks));
......
......@@ -84,7 +84,7 @@ fun findAllPythonSdks(baseDir: Path?): List<Sdk> {
context.putUserData(BASE_DIR, baseDir)
}
val existing = PythonSdkUtil.getAllSdks()
return detectCondaEnvs(null, existing, context) + detectVirtualEnvs(null, existing, context) + findBaseSdks(existing, null, context)
return detectVirtualEnvs(null, existing, context) + findBaseSdks(existing, null, context)
}
fun findBaseSdks(existingSdks: List<Sdk>, module: Module?, context: UserDataHolder): List<Sdk> {
......@@ -130,19 +130,12 @@ fun filterSharedCondaEnvs(module: Module?, existingSdks: List<Sdk>): List<Sdk> {
return existingSdks.filter { it.sdkType is PythonSdkType && PythonSdkUtil.isConda(it) && !it.isAssociatedWithAnotherModule(module) }
}
fun detectCondaEnvs(module: Module?, existingSdks: List<Sdk>, context: UserDataHolder): List<PyDetectedSdk> =
filterSuggestedPaths(
CondaEnvSdkFlavor.getInstance().suggestLocalHomePaths(module, context), existingSdks, module, context, true)
fun filterAssociatedSdks(module: Module, existingSdks: List<Sdk>): List<Sdk> {
return existingSdks.filter { it.sdkType is PythonSdkType && it.isAssociatedWithModule(module) }
}
fun detectAssociatedEnvironments(module: Module, existingSdks: List<Sdk>, context: UserDataHolder): List<PyDetectedSdk> {
val virtualEnvs = detectVirtualEnvs(module, existingSdks, context).filter { it.isAssociatedWithModule(module) }
val condaEnvs = detectCondaEnvs(module, existingSdks, context).filter { it.isAssociatedWithModule(module) }
return virtualEnvs + condaEnvs
}
fun detectAssociatedEnvironments(module: Module, existingSdks: List<Sdk>, context: UserDataHolder): List<PyDetectedSdk> =
detectVirtualEnvs(module, existingSdks, context).filter { it.isAssociatedWithModule(module) }
fun createSdkByGenerateTask(generateSdkHomePath: Task.WithResult<String, ExecutionException>,
existingSdks: List<Sdk>,
......
......@@ -30,7 +30,6 @@ import com.jetbrains.python.packaging.PyCondaPackageService
import com.jetbrains.python.sdk.PyDetectedSdk
import com.jetbrains.python.sdk.associateWithModule
import com.jetbrains.python.sdk.conda.PyCondaSdkCustomizer
import com.jetbrains.python.sdk.detectCondaEnvs
import com.jetbrains.python.sdk.flavors.conda.CondaEnvSdkFlavor
import com.jetbrains.python.sdk.setupAssociated
import icons.PythonIcons
......@@ -75,9 +74,7 @@ open class PyAddExistingCondaEnvPanel(private val project: Project?,
@Suppress("LeakingThis")
layoutComponents()
addInterpretersAsync(sdkComboBox) {
detectCondaEnvs(module, existingSdks, context)
}
}
protected open fun layoutComponents() {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment