/usr/local/lib/python3.6/site-packages/pip/_internal/utils
NameSizeModeActions
__pycache__/-0755rm
appdirs.py16650644editdlrm
compat.py18840644editdlrm
compatibility_tags.py53770644editdlrm
datetime.py2420644editdlrm
deprecation.py36270644editdlrm
direct_url_helpers.py32060644editdlrm
distutils_args.py12490644editdlrm
egg_link.py22030644editdlrm
encoding.py11690644editdlrm
entrypoints.py10550644editdlrm
filesystem.py58930644editdlrm
filetypes.py7160644editdlrm
glibc.py31100644editdlrm
hashes.py48110644editdlrm
inject_securetransport.py7950644editdlrm
logging.py115320644editdlrm
misc.py204320644editdlrm
models.py11930644editdlrm
packaging.py29520644editdlrm
parallel.py31960644editdlrm
pkg_resources.py9870644editdlrm
setuptools_build.py46970644editdlrm
subprocess.py100580644editdlrm
temp_dir.py76620644editdlrm
unpacking.py89060644editdlrm
urls.py17590644editdlrm
virtualenv.py34590644editdlrm
wheel.py61630644editdlrm
_log.py10150644editdlrm
__init__.py00644editdlrm
Edit: /usr/local/lib/python3.6/site-packages/pip/_internal/utils/egg_link.py (2203B)
# The following comment should be removed at some point in the future. # mypy: strict-optional=False import os import re import sys from typing import Optional 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_name(raw_name: str) -> 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. """ return re.sub("[^A-Za-z0-9.]+", "-", raw_name) + ".egg-link" def egg_link_path_from_sys_path(raw_name: str) -> Optional[str]: """ Look for a .egg-link file for project name, by walking sys.path. """ egg_link_name = _egg_link_name(raw_name) for path_item in sys.path: 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) -> Optional[str]: """ 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 = [] 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_name = _egg_link_name(raw_name) for site in sites: egglink = os.path.join(site, egg_link_name) if os.path.isfile(egglink): return egglink return None