From 6c8d103ce7f14f76543a697b3f45e8c6b11d303e Mon Sep 17 00:00:00 2001 From: Jun <164005568@qq.com> Date: Sat, 21 Mar 2026 03:29:31 +0800 Subject: [PATCH] Replace pkg_resources with packaging.requirements Replace deprecated pkg_resources.Requirement with packaging.requirements Requirement (already a core dependency: packaging>=20.0). Changes: - from pkg_resources import Requirement -> from packaging.requirements import Requirement - Requirement.parse(line) -> Requirement(line) - .project_name -> .name setuptools 82 removed pkg_resources (PEP 740), making this dependency unreliable for newer Python installations. --- jina/orchestrate/deployments/install_requirements_helper.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jina/orchestrate/deployments/install_requirements_helper.py b/jina/orchestrate/deployments/install_requirements_helper.py index 157ab5b22ac05..a7520c20515d2 100644 --- a/jina/orchestrate/deployments/install_requirements_helper.py +++ b/jina/orchestrate/deployments/install_requirements_helper.py @@ -2,7 +2,7 @@ import re from typing import TYPE_CHECKING, Tuple, Dict, Optional, cast -from pkg_resources import Requirement +from packaging.requirements import Requirement if TYPE_CHECKING: # pragma: no cover from pathlib import Path @@ -90,7 +90,7 @@ def _parse_requirement(line: str) -> 'Requirement': line = f'{egg or name} @ {line}' - return Requirement.parse(line) + return Requirement(line) def _expand_env_variables(line: str) -> str: @@ -132,7 +132,7 @@ def _get_install_options(requirements_file: 'Path', excludes: Tuple[str] = ('jin expand_req = _expand_env_variables(req) req_spec = _parse_requirement(expand_req) - if req_spec.project_name not in excludes or len(req_spec.extras) > 0: + if req_spec.name not in excludes or len(req_spec.extras) > 0: install_reqs.append(expand_req) return install_reqs, install_options