Skip to content

Commit 34dacc9

Browse files
author
Kartik Raj
committed
Add verbose logging regarding discovery of conda envs
1 parent e4f057c commit 34dacc9

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

src/client/pythonEnvironments/base/locators/lowLevel/condaLocator.ts

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,21 @@ export class CondaEnvironmentLocator extends Locator<BasicEnvInfo> {
1818

1919
const envs = await conda.getEnvList();
2020
for (const env of envs) {
21-
const executablePath = await conda.getInterpreterPathForEnvironment(env);
22-
if (executablePath !== undefined) {
23-
traceVerbose(`Found conda environment: ${executablePath}`);
24-
try {
25-
yield { kind: PythonEnvKind.Conda, executablePath, envPath: env.prefix };
26-
} catch (ex) {
27-
traceError(`Failed to process environment: ${executablePath}`, ex);
21+
try {
22+
traceVerbose(`Looking into conda env for executable: ${JSON.stringify(env)}`);
23+
const executablePath = await conda.getInterpreterPathForEnvironment(env);
24+
if (executablePath !== undefined) {
25+
traceVerbose(`Found conda environment: ${executablePath}`);
26+
try {
27+
yield { kind: PythonEnvKind.Conda, executablePath, envPath: env.prefix };
28+
} catch (ex) {
29+
traceError(`Failed to process environment: ${executablePath}`, ex);
30+
}
31+
} else {
32+
traceError(`Executable for conda env not found: ${JSON.stringify(env)}`);
2833
}
34+
} catch (ex) {
35+
traceError(`Failed to get executable for conda env: ${JSON.stringify(env)}`, ex);
2936
}
3037
}
3138
}

src/client/pythonEnvironments/common/environmentManagers/conda.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,13 +482,19 @@ export class Conda {
482482
public async getInterpreterPathForEnvironment(condaEnv: CondaEnvInfo): Promise<string | undefined> {
483483
const executablePath = await getInterpreterPath(condaEnv.prefix);
484484
if (executablePath) {
485+
traceVerbose('Found executable for conda env', JSON.stringify(condaEnv));
485486
return executablePath;
486487
}
488+
traceVerbose(
489+
'Executable does not exist within conda env, running conda run to get it',
490+
JSON.stringify(condaEnv),
491+
);
487492
return this.getInterpreterPathUsingCondaRun(condaEnv);
488493
}
489494

490495
@cache(-1, true)
491496
private async getInterpreterPathUsingCondaRun(condaEnv: CondaEnvInfo) {
497+
traceVerbose('Preparing args for conda run', JSON.stringify(condaEnv));
492498
const runArgs = await this.getRunPythonArgs(condaEnv);
493499
if (runArgs) {
494500
try {
@@ -498,6 +504,7 @@ export class Conda {
498504
traceError(`Failed to process environment: ${JSON.stringify(condaEnv)}`, ex);
499505
}
500506
}
507+
traceError('No executable found for conda env', JSON.stringify(condaEnv));
501508
return undefined;
502509
}
503510

0 commit comments

Comments
 (0)