From 826d566eb844e5f3f65c1d8f784bf47d15b76ba6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Sat, 25 Sep 2021 12:00:23 +0200 Subject: [PATCH] Add a spinner when preparing setup.py metadata For symmetry with pyproject.toml metadata preparation. --- .../_internal/operations/build/metadata_legacy.py | 13 ++++++++----- src/pip/_internal/req/req_install.py | 4 ++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/pip/_internal/operations/build/metadata_legacy.py b/src/pip/_internal/operations/build/metadata_legacy.py index 2013046fcf2..ff52de9c4cf 100644 --- a/src/pip/_internal/operations/build/metadata_legacy.py +++ b/src/pip/_internal/operations/build/metadata_legacy.py @@ -5,6 +5,7 @@ import os from pip._internal.build_env import BuildEnvironment +from pip._internal.cli.spinners import open_spinner from pip._internal.exceptions import InstallationError from pip._internal.utils.setuptools_build import make_setuptools_egg_info_args from pip._internal.utils.subprocess import call_subprocess @@ -54,11 +55,13 @@ def generate_metadata( ) with build_env: - call_subprocess( - args, - cwd=source_dir, - command_desc="python setup.py egg_info", - ) + with open_spinner("Preparing metadata (setup.py)") as spinner: + call_subprocess( + args, + cwd=source_dir, + command_desc="python setup.py egg_info", + spinner=spinner, + ) # Return the .egg-info directory. return _find_egg_info(egg_info_dir) diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py index c4613fef060..933b2ea6709 100644 --- a/src/pip/_internal/req/req_install.py +++ b/src/pip/_internal/req/req_install.py @@ -528,6 +528,10 @@ def _generate_editable_metadata(self) -> str: # At this point we have determined that the build_editable hook # is missing, and there is a setup.py or setup.cfg # so we fallback to the legacy metadata generation + logger.info( + "Build backend does not support editables, " + "falling back to setup.py egg_info." + ) else: self.supports_pyproject_editable = True return metadata_directory