fix(health): improve python executable check error handling (#26954)

Credit to @wookayin for the fix.
This commit is contained in:
Barrett Ruth 2024-01-09 17:05:44 -06:00 committed by GitHub
parent c67efe3a9c
commit 63a17322dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,10 +17,9 @@ end
-- Resolves Python executable path by invoking and checking `sys.executable`.
local function python_exepath(invocation)
local python = vim.fn.fnameescape(invocation)
local out = vim.fn.system(python .. ' -c "import sys; sys.stdout.write(sys.executable)"')
assert(vim.v.shell_error == 0, out)
return vim.fs.normalize(vim.trim(out))
local p = vim.system({ invocation, '-c', 'import sys; sys.stdout.write(sys.executable)' }):wait()
assert(p.code == 0, p.stderr)
return vim.fs.normalize(vim.trim(p.stdout))
end
-- Check if pyenv is available and a valid pyenv root can be found, then return