diff --git a/lua/mason-core/installer/managers/pypi.lua b/lua/mason-core/installer/managers/pypi.lua index d596028e5..ec6ba3383 100644 --- a/lua/mason-core/installer/managers/pypi.lua +++ b/lua/mason-core/installer/managers/pypi.lua @@ -72,7 +72,7 @@ local function create_venv() end log.fmt_debug("Found python3 installation version=%s, executable=%s", target.version, target.executable) ctx.stdio_sink.stdout "Creating virtual environment…\n" - return ctx.spawn[target.executable] { "-m", "venv", VENV_DIR } + return ctx.spawn[target.executable] { "-m", "venv", "--system-site-packages", VENV_DIR } end ---@param ctx InstallContext @@ -112,6 +112,7 @@ local function pip_install(pkgs, extra_args) "pip", "--disable-pip-version-check", "install", + "--ignore-installed", "-U", extra_args or vim.NIL, pkgs, diff --git a/tests/mason-core/installer/managers/pypi_spec.lua b/tests/mason-core/installer/managers/pypi_spec.lua index 4eff40928..68ce3ac98 100644 --- a/tests/mason-core/installer/managers/pypi_spec.lua +++ b/tests/mason-core/installer/managers/pypi_spec.lua @@ -36,6 +36,7 @@ describe("pypi manager", function() assert.spy(ctx.spawn.python3).was_called_with { "-m", "venv", + "--system-site-packages", "venv", } end) @@ -55,6 +56,7 @@ describe("pypi manager", function() assert.spy(ctx.spawn.python3).was_called_with { "-m", "venv", + "--system-site-packages", "venv", } assert.spy(ctx.spawn[venv_py(ctx)]).was_called(1) @@ -63,6 +65,7 @@ describe("pypi manager", function() "pip", "--disable-pip-version-check", "install", + "--ignore-installed", "-U", { "--proxy", "http://localhost" }, { "pip" }, @@ -83,6 +86,7 @@ describe("pypi manager", function() "pip", "--disable-pip-version-check", "install", + "--ignore-installed", "-U", vim.NIL, -- install_extra_args { @@ -122,6 +126,7 @@ describe("pypi manager", function() "pip", "--disable-pip-version-check", "install", + "--ignore-installed", "-U", vim.NIL, -- install_extra_args { @@ -148,6 +153,7 @@ describe("pypi manager", function() "pip", "--disable-pip-version-check", "install", + "--ignore-installed", "-U", { "--proxy", "http://localhost:9000" }, {