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; } }