관리-도구
편집 파일: glibc.cpython-39.opt-1.pyc
a [��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 �=/usr/lib/python3.9/site-packages/pip/_internal/utils/glibc.py�glibc_version_string s r c C sD t jdkrdS zt�d��� \} }W n tttfy> Y dS 0 |S )z@Primary implementation of glibc_version_string using os.confstr.�win32N�CS_GNU_LIBC_VERSION)�sys�platform�os�confstr�split�AttributeError�OSError� ValueError)�_�versionr r r r s r c C sr zddl } W n ty Y dS 0 | �d�}z |j}W n tyJ Y dS 0 | j|_|� }t|t�sn|� d�}|S )z=Fallback implementation of glibc_version_string using ctypes.r N�ascii) �ctypes�ImportErrorZCDLL�gnu_get_libc_versionr Zc_char_pZrestype� isinstance�str�decode)r Zprocess_namespacer Zversion_strr r r r s r c C s t � } | du rdS d| fS dS )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 Zglibc)r )Z glibc_versionr r r �libc_verN s r ) r r �typingr r r r r r r r r r r �<module> s /