From 2ab1a2a2efcd42073ebb7572d8aac9a774c2ca0e Mon Sep 17 00:00:00 2001 From: Don Jayamanne Date: Thu, 12 Jan 2023 12:52:32 +1100 Subject: [PATCH] Predictable ids for Conda envs without Python --- .../base/locators/composite/resolverUtils.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts b/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts index c0506d4a06ba..73ed775f1686 100644 --- a/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts +++ b/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts @@ -57,7 +57,12 @@ export async function resolveBasicEnv(env: BasicEnvInfo): Promise await updateEnvUsingRegistry(resolvedEnv); } setEnvDisplayString(resolvedEnv); - resolvedEnv.id = getEnvID(resolvedEnv.executable.filename, resolvedEnv.location); + let fileName = resolvedEnv.executable.filename; + if (env.envPath && env.kind === PythonEnvKind.Conda && path.basename(fileName) === fileName) { + fileName = + getOSType() === OSType.Windows ? path.join(env.envPath, fileName) : path.join(env.envPath, 'bin', fileName); + } + resolvedEnv.id = getEnvID(fileName, resolvedEnv.location); const { ctime, mtime } = await getFileInfo(resolvedEnv.executable.filename); resolvedEnv.executable.ctime = ctime; resolvedEnv.executable.mtime = mtime;