diff --git a/piptools/repositories/pypi.py b/piptools/repositories/pypi.py index 1c59201df..6e0864566 100644 --- a/piptools/repositories/pypi.py +++ b/piptools/repositories/pypi.py @@ -31,7 +31,7 @@ from pip._internal.req import InstallRequirement, RequirementSet from pip._internal.req.req_tracker import get_requirement_tracker from pip._internal.utils.hashes import FAVORITE_HASH -from pip._internal.utils.logging import indent_log, setup_logging +from pip._internal.utils.logging import RichPipStreamHandler, indent_log, setup_logging from pip._internal.utils.misc import normalize_path from pip._internal.utils.temp_dir import TempDirectory, global_tempdir_manager from pip._internal.utils.urls import path_to_url, url_to_path @@ -452,7 +452,10 @@ def _setup_logging(self) -> None: logger = logging.getLogger() for handler in logger.handlers: if handler.name == "console": # pragma: no branch - assert isinstance(handler, logging.StreamHandler) + try: + assert isinstance(handler, logging.StreamHandler) + except Exception: + assert isinstance(handler, RichPipStreamHandler) handler.stream = log.stream break else: # pragma: no cover diff --git a/setup.cfg b/setup.cfg index 54d0ed9ef..327caf771 100644 --- a/setup.cfg +++ b/setup.cfg @@ -33,7 +33,7 @@ install_requires = # direct dependencies click >= 7 pep517 - pip >= 21.2 + pip >= 22.0.2 # indirect dependencies setuptools # typically needed when pip-tools invokes setup.py wheel # pip plugin needed by pip-tools