diff --git a/src/managers/pyenv/main.ts b/src/managers/pyenv/main.ts index 35603467..0dd1cba6 100644 --- a/src/managers/pyenv/main.ts +++ b/src/managers/pyenv/main.ts @@ -13,10 +13,14 @@ export async function registerPyenvFeatures( const api: PythonEnvironmentApi = await getPythonApi(); try { - await getPyenv(nativeFinder); - - const mgr = new PyEnvManager(nativeFinder, api); - disposables.push(mgr, api.registerEnvironmentManager(mgr)); + const pyenv = await getPyenv(nativeFinder); + + if (pyenv) { + const mgr = new PyEnvManager(nativeFinder, api); + disposables.push(mgr, api.registerEnvironmentManager(mgr)); + } else { + traceInfo('Pyenv not found, turning off pyenv features.'); + } } catch (ex) { traceInfo('Pyenv not found, turning off pyenv features.', ex); } diff --git a/src/managers/pyenv/pyenvUtils.ts b/src/managers/pyenv/pyenvUtils.ts index 4a2e32a6..6b9d5066 100644 --- a/src/managers/pyenv/pyenvUtils.ts +++ b/src/managers/pyenv/pyenvUtils.ts @@ -225,8 +225,11 @@ export async function refreshPyenv( .filter((e) => !isNativeEnvInfo(e)) .map((e) => e as NativeEnvManagerInfo) .filter((e) => e.tool.toLowerCase() === 'pyenv'); - pyenv = managers[0].executable; - await setPyenv(pyenv); + + if (managers.length > 0) { + pyenv = managers[0].executable; + await setPyenv(pyenv); + } } const envs = data