diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py index c9f6bff17e8..5e68072eedf 100644 --- a/src/pip/_internal/req/req_install.py +++ b/src/pip/_internal/req/req_install.py @@ -22,6 +22,7 @@ from pip._internal.build_env import BuildEnvironment, NoOpBuildEnvironment from pip._internal.exceptions import InstallationError, PreviousBuildDirError +from pip._internal.metadata import get_default_environment from pip._internal.locations import get_scheme from pip._internal.metadata import ( BaseDistribution, @@ -879,6 +880,18 @@ def install( ) self.install_succeeded = True + installed_version = get_installed_version(self.req.name) + if installed_version: + logger.info("Successfully installed %s-%s", self.req.name, installed_version) + else: + logger.info("Successfully installed %s (version unknown)", self.req.name) + + self.install_succeeded = True + +def get_installed_version(package_name: str) -> str | None: + env = get_default_environment() + dist = env.get_distribution(package_name) + return dist.version if dist else None def check_invalid_constraint_type(req: InstallRequirement) -> str: # Check for unsupported forms diff --git a/tests/unit/test_upgrade_shows_correct_version.py b/tests/unit/test_upgrade_shows_correct_version.py new file mode 100644 index 00000000000..b4682efff7f --- /dev/null +++ b/tests/unit/test_upgrade_shows_correct_version.py @@ -0,0 +1,4 @@ +def test_upgrade_shows_correct_version(script): + script.pip_install('pip==25.0.1') + result = script.pip('install', '--upgrade', 'pip') + assert "Successfully installed pip-25.1.1" in result.stdout