X7ROOT File Manager
Current Path:
/opt/hc_python/lib/python3.12/site-packages/pip/_internal/utils
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
pip
/
_internal
/
utils
/
??
..
??
__init__.py
(0 B)
??
__pycache__
??
_jaraco_text.py
(3.27 KB)
??
_log.py
(1015 B)
??
appdirs.py
(1.64 KB)
??
compat.py
(2.46 KB)
??
compatibility_tags.py
(6.47 KB)
??
datetime.py
(241 B)
??
deprecation.py
(3.61 KB)
??
direct_url_helpers.py
(3.13 KB)
??
egg_link.py
(2.4 KB)
??
entrypoints.py
(3.25 KB)
??
filesystem.py
(5.37 KB)
??
filetypes.py
(689 B)
??
glibc.py
(3.64 KB)
??
hashes.py
(4.88 KB)
??
logging.py
(11.82 KB)
??
misc.py
(22.83 KB)
??
packaging.py
(1.56 KB)
??
retry.py
(1.43 KB)
??
subprocess.py
(8.77 KB)
??
temp_dir.py
(9.09 KB)
??
unpacking.py
(12.67 KB)
??
urls.py
(1.56 KB)
??
virtualenv.py
(3.37 KB)
??
wheel.py
(4.36 KB)
Editing: packaging.py
from __future__ import annotations import functools import logging from pip._vendor.packaging import specifiers, version from pip._vendor.packaging.requirements import Requirement logger = logging.getLogger(__name__) @functools.lru_cache(maxsize=32) def check_requires_python( requires_python: str | None, version_info: tuple[int, ...] ) -> bool: """ Check if the given Python version matches a "Requires-Python" specifier. :param version_info: A 3-tuple of ints representing a Python major-minor-micro version to check (e.g. `sys.version_info[:3]`). :return: `True` if the given Python version satisfies the requirement. Otherwise, return `False`. :raises InvalidSpecifier: If `requires_python` has an invalid format. """ if requires_python is None: # The package provides no information return True requires_python_specifier = specifiers.SpecifierSet(requires_python) python_version = version.parse(".".join(map(str, version_info))) return python_version in requires_python_specifier @functools.lru_cache(maxsize=10000) def get_requirement(req_string: str) -> Requirement: """Construct a packaging.Requirement object with caching""" # Parsing requirement strings is expensive, and is also expected to happen # with a low diversity of different arguments (at least relative the number # constructed). This method adds a cache to requirement object creation to # minimize repeated parsing of the same string to construct equivalent # Requirement objects. return Requirement(req_string)
Upload File
Create Folder