o ÏEc›ã@sŽddlZddlZddlZddlmZddlmZmZddlm Z m Z ddgZ de de fd d „Z de dee fd d„Zde dee fd d„ZdS) éN)ÚOptional)Ú site_packagesÚ user_site)Úrunning_under_virtualenvÚvirtualenv_no_globalÚegg_link_path_from_sys_pathÚegg_link_path_from_locationÚraw_nameÚreturncCst dd|¡dS)zÕ 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. z[^A-Za-z0-9.]+ú-z .egg-link)ÚreÚsub)r ©rúO/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/utils/egg_link.pyÚ_egg_link_namesrcCs:t|ƒ}tjD]}tj ||¡}tj |¡r|SqdS)zJ Look for a .egg-link file for project name, by walking sys.path. N)rÚsysÚpathÚosÚjoinÚisfile)r Ú egg_link_nameZ path_itemZegg_linkrrrrs  ÿcCszg}tƒr| t¡tƒstr| t¡n tr| t¡| t¡t|ƒ}|D]}tj ||¡}tj  |¡r:|Sq'dS)a 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. N) rÚappendrrrrrrrr)r ZsitesrZsiteZegglinkrrrr*s    €   ÿ)rr rÚtypingrZpip._internal.locationsrrZpip._internal.utils.virtualenvrrÚ__all__ÚstrrrrrrrrÚs þ