Skip to content

Commit 596d86a

Browse files
fix: for pyenv spinning forever and crashes (#444)
Fixes #437 Fixes #427 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: karthiknadig <3840081+karthiknadig@users.noreply.github.com>
1 parent c6ef273 commit 596d86a

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

src/managers/pyenv/main.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,14 @@ export async function registerPyenvFeatures(
1313
const api: PythonEnvironmentApi = await getPythonApi();
1414

1515
try {
16-
await getPyenv(nativeFinder);
17-
18-
const mgr = new PyEnvManager(nativeFinder, api);
19-
disposables.push(mgr, api.registerEnvironmentManager(mgr));
16+
const pyenv = await getPyenv(nativeFinder);
17+
18+
if (pyenv) {
19+
const mgr = new PyEnvManager(nativeFinder, api);
20+
disposables.push(mgr, api.registerEnvironmentManager(mgr));
21+
} else {
22+
traceInfo('Pyenv not found, turning off pyenv features.');
23+
}
2024
} catch (ex) {
2125
traceInfo('Pyenv not found, turning off pyenv features.', ex);
2226
}

src/managers/pyenv/pyenvUtils.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,11 @@ export async function refreshPyenv(
225225
.filter((e) => !isNativeEnvInfo(e))
226226
.map((e) => e as NativeEnvManagerInfo)
227227
.filter((e) => e.tool.toLowerCase() === 'pyenv');
228-
pyenv = managers[0].executable;
229-
await setPyenv(pyenv);
228+
229+
if (managers.length > 0) {
230+
pyenv = managers[0].executable;
231+
await setPyenv(pyenv);
232+
}
230233
}
231234

232235
const envs = data

0 commit comments

Comments
 (0)