o
    i	                     @  s   U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZ e
dZedZded	< dddZdddZdddZz
e Zded< W n ey`   ejZY nw ejdddZdS )    )annotationsN)InstallationError)appdirs)running_under_virtualenvZpipZpurelibstrsite_packagesreturnc                   C  s   dj tj S )ze
    Return the major-minor version of the current Python as a string, e.g.
    "3.7" or "3.10".
    z{}.{})formatsysversion_info r   r   <lib/python3.10/site-packages/pip/_internal/locations/base.pyget_major_minor_version   s   r   new_rootpathnamec                 C  s   t jdkrt j|st j| |S t j| |dd S t jdkr=t j|\}}|d dkr6|dd }t j| |S tdt j d)	aQ  Return 'pathname' with 'new_root' prepended.

    If 'pathname' is relative, this is equivalent to os.path.join(new_root, pathname).
    Otherwise, it requires making 'pathname' relative and then joining the
    two, which is tricky on DOS/Windows and Mac OS.

    This is borrowed from Python's standard library's distutils module.
    posix   Nntr   \zUnknown platform: z5
Can not change root path prefix on unknown platform.)osnamepathisabsjoin
splitdriver   )r   r   driver   r   r   r   change_root   s   
	
r   c                  C  sX   t  rtjtjd} nztjt d} W n ty%   td Y nw tj	| S )Nsrcz=The folder you are executing pip from can no longer be found.)
r   r   r   r   r
   prefixgetcwdOSErrorexitabspath)Z
src_prefixr   r   r   get_src_prefix8   s   r#   z
str | None	user_siteboolc                   C  s   t tdS )NZPYTHONFRAMEWORK)r%   	sysconfigZget_config_varr   r   r   r   is_osx_frameworkP   s   r'   )r   r   )r   r   r   r   r   r   )r   r%   )Z
__future__r   	functoolsr   Zsiter
   r&   Zpip._internal.exceptionsr   Zpip._internal.utilsr   Zpip._internal.utils.virtualenvr   Zuser_cache_dirZUSER_CACHE_DIRZget_pathr   __annotations__r   r   r#   getusersitepackagesr$   AttributeError	USER_SITEcacher'   r   r   r   r   <module>   s*    




