@Override
  public @NotNull String createVirtualEnv(@NotNull String destinationDir, boolean useGlobalSite) throws ExecutionException {
    final List<String> args = new ArrayList<>();
    final Sdk sdk = getSdk();
    final LanguageLevel languageLevel = getOrRequestLanguageLevelForSdk(sdk);

    if (languageLevel.isOlderThan(LanguageLevel.PYTHON27)) {
      throw new ExecutionException(PySdkBundle.message("python.sdk.packaging.creating.virtual.environment.for.python.not.supported",
                                                       languageLevel, LanguageLevel.PYTHON27));
    }

    if (useGlobalSite) {
      args.add("--system-site-packages");
    }
    args.add(destinationDir);

    try {
      getPythonProcessResult(
        Objects.requireNonNull(getHelperPath(isLegacyPython(languageLevel) ? LEGACY_VIRTUALENV_ZIPAPP_NAME : VIRTUALENV_ZIPAPP_NAME)),
        args, false, true, null, List.of("-S"));
    }
    catch (ExecutionException e) {
      showSdkExecutionException(sdk, e, PySdkBundle.message("python.creating.venv.failed.title"));
    }

    final String binary = PythonSdkUtil.getPythonExecutable(destinationDir);
    final String binaryFallback = destinationDir + mySeparator + "bin" + mySeparator + "python";

    return (binary != null) ? binary : binaryFallback;
  }
@Override
  public @NotNull String createVirtualEnv(@NotNull String destinationDir, boolean useGlobalSite)