From 45aa7e63cfa9fd279da491e2786e633eaa51b2c9 Mon Sep 17 00:00:00 2001 From: Nacai <111849193+B67687@users.noreply.github.com> Date: Fri, 10 Apr 2026 09:38:00 +0800 Subject: [PATCH] Retry pip user installs before breaking system packages --- .../Helpers/PipPkgOperationHelper.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/UniGetUI.PackageEngine.Managers.Pip/Helpers/PipPkgOperationHelper.cs b/src/UniGetUI.PackageEngine.Managers.Pip/Helpers/PipPkgOperationHelper.cs index 5e8c445856..fe6bc33392 100644 --- a/src/UniGetUI.PackageEngine.Managers.Pip/Helpers/PipPkgOperationHelper.cs +++ b/src/UniGetUI.PackageEngine.Managers.Pip/Helpers/PipPkgOperationHelper.cs @@ -83,10 +83,19 @@ int returnCode string output_string = string.Join("\n", processOutput); - if (output_string.Contains("externally-managed-environment") && !package.OverridenOptions.Pip_BreakSystemPackages) + if (output_string.Contains("externally-managed-environment")) { - package.OverridenOptions.Pip_BreakSystemPackages = true; - return OperationVeredict.AutoRetry; + if (package.OverridenOptions.Scope != PackageScope.User) + { + package.OverridenOptions.Scope = PackageScope.User; + return OperationVeredict.AutoRetry; + } + + if (!package.OverridenOptions.Pip_BreakSystemPackages) + { + package.OverridenOptions.Pip_BreakSystemPackages = true; + return OperationVeredict.AutoRetry; + } } if (output_string.Contains("--user") && package.OverridenOptions.Scope != PackageScope.User) @@ -94,6 +103,7 @@ int returnCode package.OverridenOptions.Scope = PackageScope.User; return OperationVeredict.AutoRetry; } + return OperationVeredict.Failure; } }