관리-도구
편집 파일: glibc.cpython-311.pyc
� �܋f) � � � d dl Z d dlZd dlmZmZ dee fd�Zdee fd�Zdee fd�Zdeeef fd�Z dS )� N)�Optional�Tuple�returnc �: � t � � p t � � S )z9Returns glibc version string, or None if not using glibc.)�glibc_version_string_confstr�glibc_version_string_ctypes� � �P/opt/cloudlinux/venv/lib64/python3.11/site-packages/pip/_internal/utils/glibc.py�glibc_version_stringr s � �'�)�)�J�-H�-J�-J�Jr c �� � t j dk rdS t j d� � } | �dS | � � � \ }}n# t t t f$ r Y dS w xY w|S )z@Primary implementation of glibc_version_string using os.confstr.�win32N�CS_GNU_LIBC_VERSION)�sys�platform�os�confstr�split�AttributeError�OSError� ValueError)�gnu_libc_version�_�versions r r r s~ � � �|�w����t���:�&;�<�<���#��4�%�+�+�-�-� ��7�7���G�Z�0� � � ��t�t����� �Ns �A �A �A�Ac � � ddl } n# t $ r Y dS w xY w| � d� � } |j }n# t $ r Y dS w xY w| j |_ |� � }t |t � � s|� d� � }|S )z=Fallback implementation of glibc_version_string using ctypes.r N�ascii) �ctypes�ImportError�CDLL�gnu_get_libc_versionr �c_char_p�restype� isinstance�str�decode)r �process_namespacer �version_strs r r r s� � ��� � � � ��� � � ��t�t����� ���D�)�)���0�E����� � � � �t�t����� $*�?�� �&�&�(�(�K��k�3�'�'� 2�!�(�(��1�1���s � � ��6 � A�Ac �. � t � � } | �dS d| fS )z�Try to determine the glibc version Returns a tuple of strings (lib, version) which default to empty strings in case the lookup fails. N)� r) �glibc)r )� glibc_versions r �libc_verr, N s% � � )�*�*�M����x���'�'r ) r r �typingr r r$ r r r r, r r r �<module>r. s� �� � � � � � � � � "� "� "� "� "� "� "� "�K�h�s�m� K� K� K� K� �h�s�m� � � � �(�X�c�]� � � � �^ (�%��S��/� (� (� (� (� (� (r