관리-도구
편집 파일: glibc.cpython-38.pyc
U &?�f� � @ sp d dl Z d dlZd dlmZmZ ee d�dd�Zee d�dd�Zee d�dd �Zeeef d�d d�Z dS )� N)�Optional�Tuple)�returnc C s t � p t� S )z9Returns glibc version string, or None if not using glibc.)�glibc_version_string_confstr�glibc_version_string_ctypes� r r �G/opt/hc_python/lib/python3.8/site-packages/pip/_internal/utils/glibc.py�glibc_version_string s r c C sX t jdkrdS z(t�d�} | dkr(W dS | �� \}}W n tttfk rR Y dS X |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�_�versionr r r r s r c C s� zddl } W n tk r" Y dS X z| �d�}W n tk rH Y dS X z |j}W n tk rj Y dS X | j|_|� }t|t �s�|� d�}|S )z=Fallback implementation of glibc_version_string using ctypes.r N�ascii)�ctypes�ImportError�CDLLr �gnu_get_libc_versionr �c_char_p�restype� isinstance�str�decode)r �process_namespacer �version_strr r r r s"