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: egg_link.py
from __future__ import annotations import os import re import sys from pip._internal.locations import site_packages, user_site from pip._internal.utils.virtualenv import ( running_under_virtualenv, virtualenv_no_global, ) __all__ = [ "egg_link_path_from_sys_path", "egg_link_path_from_location", ] def _egg_link_names(raw_name: str) -> list[str]: """ Convert a Name metadata value to a .egg-link name, by applying the same substitution as pkg_resources's safe_name function. Note: we cannot use canonicalize_name because it has a different logic. We also look for the raw name (without normalization) as setuptools 69 changed the way it names .egg-link files (https://github.com/pypa/setuptools/issues/4167). """ return [ re.sub("[^A-Za-z0-9.]+", "-", raw_name) + ".egg-link", f"{raw_name}.egg-link", ] def egg_link_path_from_sys_path(raw_name: str) -> str | None: """ Look for a .egg-link file for project name, by walking sys.path. """ egg_link_names = _egg_link_names(raw_name) for path_item in sys.path: for egg_link_name in egg_link_names: egg_link = os.path.join(path_item, egg_link_name) if os.path.isfile(egg_link): return egg_link return None def egg_link_path_from_location(raw_name: str) -> str | None: """ Return the path for the .egg-link file if it exists, otherwise, None. There's 3 scenarios: 1) not in a virtualenv try to find in site.USER_SITE, then site_packages 2) in a no-global virtualenv try to find in site_packages 3) in a yes-global virtualenv try to find in site_packages, then site.USER_SITE (don't look in global location) For #1 and #3, there could be odd cases, where there's an egg-link in 2 locations. This method will just return the first one found. """ sites: list[str] = [] if running_under_virtualenv(): sites.append(site_packages) if not virtualenv_no_global() and user_site: sites.append(user_site) else: if user_site: sites.append(user_site) sites.append(site_packages) egg_link_names = _egg_link_names(raw_name) for site in sites: for egg_link_name in egg_link_names: egglink = os.path.join(site, egg_link_name) if os.path.isfile(egglink): return egglink return None
Upload File
Create Folder