Skip to content

Commit 6ec1eaa

Browse files
authored
Retry pip user installs before breaking system packages (#4569)
1 parent 97e0067 commit 6ec1eaa

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

src/UniGetUI.PackageEngine.Managers.Pip/Helpers/PipPkgOperationHelper.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,27 @@ int returnCode
8383

8484
string output_string = string.Join("\n", processOutput);
8585

86-
if (output_string.Contains("externally-managed-environment") && !package.OverridenOptions.Pip_BreakSystemPackages)
86+
if (output_string.Contains("externally-managed-environment"))
8787
{
88-
package.OverridenOptions.Pip_BreakSystemPackages = true;
89-
return OperationVeredict.AutoRetry;
88+
if (package.OverridenOptions.Scope != PackageScope.User)
89+
{
90+
package.OverridenOptions.Scope = PackageScope.User;
91+
return OperationVeredict.AutoRetry;
92+
}
93+
94+
if (!package.OverridenOptions.Pip_BreakSystemPackages)
95+
{
96+
package.OverridenOptions.Pip_BreakSystemPackages = true;
97+
return OperationVeredict.AutoRetry;
98+
}
9099
}
91100

92101
if (output_string.Contains("--user") && package.OverridenOptions.Scope != PackageScope.User)
93102
{
94103
package.OverridenOptions.Scope = PackageScope.User;
95104
return OperationVeredict.AutoRetry;
96105
}
106+
97107
return OperationVeredict.Failure;
98108
}
99109
}

0 commit comments

Comments
 (0)