From 63a17322dd835724887517c1309e70c06748ed59 Mon Sep 17 00:00:00 2001 From: Barrett Ruth <62671086+barrett-ruth@users.noreply.github.com> Date: Tue, 9 Jan 2024 17:05:44 -0600 Subject: [PATCH] fix(health): improve python executable check error handling (#26954) Credit to @wookayin for the fix. --- runtime/lua/provider/python/health.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/runtime/lua/provider/python/health.lua b/runtime/lua/provider/python/health.lua index 0b6edf5b42..6d3a4d5c50 100644 --- a/runtime/lua/provider/python/health.lua +++ b/runtime/lua/provider/python/health.lua @@ -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