관리-도구
편집 파일: _sysconfig.cpython-39.pyc
a ��Re� � @ s\ d dl Zd dlZd dlZd dlZd dlZd dlZd dlmZm Z d dl mZmZ d dl mZ ddlmZmZ e�e�Zee�� �Zeedd�Zed�d d �Zed�dd�Zed�d d�Zed�dd�Zg d�Z e�!d�dur�e �"d� d eeej#e ej#e eej#e ed�dd�Z$ed�dd�Z%ed�dd�Z&ed�dd�Z'eej(eef d�dd�Z)dS )!� N)�InvalidSchemeCombination�UserInstallationInvalid)�SCHEME_KEYS�Scheme)�running_under_virtualenv� )�get_major_minor_version�is_osx_frameworkZget_preferred_scheme)�returnc C s dt v ot� ot� S )a� Check for Apple's ``osx_framework_library`` scheme. Python distributed by Apple's Command Line Tools has this special scheme that's used when: * This is a framework build. * We are installing into the system prefix. This does not account for ``pip install --prefix`` (also means we're not installing to the system prefix), which should use ``posix_prefix``, but logic here means ``_infer_prefix()`` outputs ``osx_framework_library``. But since ``prefix`` is not available for ``sysconfig.get_default_scheme()``, which is the stdlib replacement for ``_infer_prefix()``, presumably Apple wouldn't be able to magically switch between ``osx_framework_library`` and ``posix_prefix``. ``_infer_prefix()`` returning ``osx_framework_library`` means its behavior is consistent whether we use the stdlib implementation or our own, and we deal with this special case in ``get_scheme()`` instead. �osx_framework_library)�_AVAILABLE_SCHEMESr r � r r ��/builddir/build/BUILDROOT/alt-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/pip/_internal/locations/_sysconfig.py� _should_use_osx_framework_prefix s ��r c C sv t rt d�S t� rdS tjj� dtj� �} | tv r6| S tjjtv rJtjjS tj� d�}|tv rb|S tjtv rrtjS dS )a! Try to find a prefix scheme for the current platform. This tries: * A special ``osx_framework_library`` for Python distributed by Apple's Command Line Tools, when not running in a virtual environment. * Implementation + OS, used by PyPy on Windows (``pypy_nt``). * Implementation without OS, used by PyPy on POSIX (``pypy``). * OS + "prefix", used by CPython on POSIX (``posix_prefix``). * Just the OS name, used by CPython on Windows (``nt``). If none of the above works, fall back to ``posix_prefix``. �prefixr �_�_prefix�posix_prefix)�_PREFERRED_SCHEME_APIr �sys�implementation�name�osr )�implementation_suffixed�suffixedr r r � _infer_prefix8 s r c C sH t rt d�S t� rt� sd} ntj� d�} | tv r6| S dtvrDt� �dS )z3Try to find a user scheme for the current platform.�user�osx_framework_user�_user� posix_user)r r r r r r r �r r r r �_infer_userW s r! c C s( t rt d�S tj� d�} | tv r$| S dS )z,Try to find a home for the current platform.�home�_home� posix_home)r r r r r r r r �_infer_homef s r% )�installed_base�base�installed_platbase�platbaser �exec_prefix�userbaseF)� dist_namer r"