From efc2f9c633b31b3db8c7809e7c2d60ab4dddf2f2 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Mon, 25 Jul 2022 10:50:47 -0700 Subject: [PATCH 1/3] Set searchLocation for environments as the location of environment folder for rooted envs --- .../pythonEnvironments/base/locators/composite/resolverUtils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts b/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts index 6ed320ecf95f..b0e6196bcbc5 100644 --- a/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts +++ b/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts @@ -78,7 +78,7 @@ function getSearchLocation(env: PythonEnvInfo): Uri | undefined { // |__ env // |__ bin or Scripts // |__ python <--- executable - return Uri.file(path.dirname(env.location)); + return Uri.file(env.location); } return undefined; } From 37ca95507db7c9860381f93c76927411cf23fe3d Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Mon, 25 Jul 2022 11:05:29 -0700 Subject: [PATCH 2/3] Fix tests --- .../base/locators/composite/envsResolver.unit.test.ts | 2 +- .../base/locators/composite/resolverUtils.unit.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/pythonEnvironments/base/locators/composite/envsResolver.unit.test.ts b/src/test/pythonEnvironments/base/locators/composite/envsResolver.unit.test.ts index 053c1f0cc4c8..6cd6d53330a5 100644 --- a/src/test/pythonEnvironments/base/locators/composite/envsResolver.unit.test.ts +++ b/src/test/pythonEnvironments/base/locators/composite/envsResolver.unit.test.ts @@ -92,7 +92,7 @@ suite('Python envs locator - Environments Resolver', () => { version, arch: Architecture.Unknown, distro: { org: '' }, - searchLocation: Uri.file(path.dirname(location)), + searchLocation: Uri.file(location), source: [], }; } diff --git a/src/test/pythonEnvironments/base/locators/composite/resolverUtils.unit.test.ts b/src/test/pythonEnvironments/base/locators/composite/resolverUtils.unit.test.ts index 0e9f32ecffcb..7932da5df529 100644 --- a/src/test/pythonEnvironments/base/locators/composite/resolverUtils.unit.test.ts +++ b/src/test/pythonEnvironments/base/locators/composite/resolverUtils.unit.test.ts @@ -331,7 +331,7 @@ suite('Resolver Utils', () => { version, arch: Architecture.Unknown, distro: { org: '' }, - searchLocation: Uri.file(path.dirname(location)), + searchLocation: Uri.file(location), source: [], }; setEnvDisplayString(info); From 803a866629ec1af4e2ada80b4b8c70a33a8ce9f7 Mon Sep 17 00:00:00 2001 From: Kartik Raj Date: Mon, 25 Jul 2022 11:11:36 -0700 Subject: [PATCH 3/3] Modify comment --- .../base/locators/composite/resolverUtils.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts b/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts index b0e6196bcbc5..c1e5cc038d7e 100644 --- a/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts +++ b/src/client/pythonEnvironments/base/locators/composite/resolverUtils.ts @@ -70,12 +70,10 @@ function getSearchLocation(env: PythonEnvInfo): Uri | undefined { const isRootedEnv = folders.some((f) => isParentPath(env.executable.filename, f)); if (isRootedEnv) { // For environments inside roots, we need to set search location so they can be queried accordingly. - // Search location particularly for virtual environments is intended as the directory in which the - // environment was found in. - // For eg.the default search location for an env containing 'bin' or 'Scripts' directory is: + // In certain usecases environment directory can itself be a root, for eg. `python -m venv .`. + // So choose folder to environment path to search for this env. // - // searchLocation <--- Default search location directory - // |__ env + // |__ env <--- Default search location directory // |__ bin or Scripts // |__ python <--- executable return Uri.file(env.location);