PY-87535: use modal progress for package installation from settings dialog

Migrate PyIntegratedToolsConfigurable from deprecated PyPackageManagerUI
to PythonPackageManagerUI with modal progress, since the install is
triggered from a modal settings dialog where background progress is not
visible.

Also:
- surface InvalidPathException as ConfigurationException in
  setRequirementsPath instead of silently logging
- detach PythonSdkUpdater.scheduleUpdate into a separate coroutine
  to avoid blocking refreshPaths
- increase flaky test timeouts in PythonPackageManagerTest


Merge-request: IJ-MR-191326
Merged-by: Vitaly Legchilkin <Vitaly.Legchilkin@jetbrains.com>

(cherry picked from commit 9fe0b8d94456e73fca90b1b6cac447f20a4cbcd9)

IJ-MR-191326

GitOrigin-RevId: cdf12afe10f63e97872f5b56be2ed983461eec20
This commit is contained in:
Vitaly Legchilkin
2026-02-19 00:59:02 +00:00
committed by intellij-monorepo-bot
parent de50353304
commit 538a8c9c3e
4 changed files with 49 additions and 20 deletions
@@ -1049,6 +1049,7 @@ form.integrated.tools.analyze.python.code.in.docstrings=Analyze Python code in d
form.integrated.tools.default.test.runner=Default test runner:
form.integrated.tools.docstring.format=Docstring format:
form.integrated.tools.package.requirements.file=Package requirements file for SDK:
form.integrated.tools.package.requirements.file.invalid.path=Invalid package requirements file path: {0}
form.integrated.tools.path.to.pipenv.executable=Path to Pipenv executable:
form.integrated.tools.render.external.documentation.for.stdlib=Render external documentation for stdlib
form.integrated.tools.sphinx.working.directory=Sphinx working directory: