private @NotNull String getPythonProcessResult(@NotNull PythonExecution pythonExecution,
                                                 boolean askForSudo,
                                                 boolean showProgress,
                                                 @NotNull TargetEnvironmentRequest targetEnvironmentRequest) throws ExecutionException {
    ProcessOutputWithCommandLine result = getPythonProcessOutput(pythonExecution, askForSudo, showProgress, targetEnvironmentRequest);
    String path = result.getExePath();
    List<String> args = result.getArgs();
    ProcessOutput processOutput = result.getProcessOutput();
    int exitCode = processOutput.getExitCode();
    if (processOutput.isTimeout()) {
      // TODO [targets] Make cancellable right away?
      throw new PyExecutionException(PySdkBundle.message("python.sdk.packaging.timed.out"), path, args, processOutput);
    }
    else if (exitCode != 0) {
      throw new PyExecutionException(PySdkBundle.message("python.sdk.packaging.non.zero.exit.code", exitCode), path, args, processOutput);
    }
    return processOutput.getStdout();
  }
private @NotNull String getPythonProcessResult(@NotNull PythonExecution pythonExecution,
                                                 boolean askForSudo,
                                                 boolean showProgress,
                                                 @NotNull TargetEnvironmentRequest targetEnvironmentRequest)