관리-도구
편집 파일: egg_link.cpython-38.pyc
U ʗRe� � @ s� d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlm Z m Z ddgZeed�dd �Z eee d�d d�Zeee d�dd�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�returnc C s t �dd| �d S )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 ��/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/egg_link.py�_egg_link_name s r c C s: t | �}tjD ]&}tj�||�}tj�|�r| S qdS )zJ Look for a .egg-link file for project name, by walking sys.path. N)r �sys�path�os�join�isfile)r � egg_link_name� path_item�egg_linkr r r r s c C sz g }t � r*|�t� t� sBtrB|�t� ntr8|�t� |�t� t| �}|D ]&}tj�||�}tj� |�rN| S qNdS )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 �appendr r r r r r r r )r �sitesr �site�egglinkr r r r * s )r r r �typingr �pip._internal.locationsr r �pip._internal.utils.virtualenvr r �__all__�strr r r r r r r �<module> s �