Файловый менеджер - Редактировать - /home/digitalm/venv/lib/python3.7/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-37.pyc
Назад
B �5�g � @ sx d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl m Z mZmZm Z mZ e e eeedf d�dd�Ze e e e d�d d �ZG dd� de�Zee e d �dd�Ze�� ee e d�dd��Zeee d�dd�Zedk�rtddlZe�� Ze�d��std��ede� edeej �� eddd� x4ee�!dde�"d d!�d" ��D ]Z#ee#d#d� �q^W dS )$z�PEP 656 support. This module implements logic to detect if the currently running Python is linked against musl, and what musl version is used. � N)�IO�Iterator� NamedTuple�Optional�Tuple.)�f�fmt�returnc C s t �|| �t �|���S )N)�struct�unpack�read�calcsize)r r � r �A/tmp/pip-install-251nq386/pip/pip/_vendor/packaging/_musllinux.py�_read_unpacked s r )r r c C sd | � d� yt| d�}W n tjk r. dS X |dd� td�krHdS | � t�d�d� ydd d �|d \}}}W n tk r� dS X tj|� }yt| |�\}}}}}}} W n tjk r� dS X x�t | d �D ]�} | � ||| � y|t| |��\}}} W n tjk �r dS X |dk�r,q�| � |� t �| �| ��� d�}d |k�rZdS |S W dS )z�Detect musl libc location by parsing the Python executable. Based on: https://gist.github.com/lyssdod/f51579ae8d93c8657a5564aefc2ffbca ELF header: https://refspecs.linuxfoundation.org/elf/gabi4+/ch4.eheader.html r Z16BN� s ELFZHHI� )ZIIIIHHHZIIIIIIII)r r r )ZQQQIHHHZIIQQQQQQ)r � � )r r � � �musl)�seekr r �error�tupler �KeyError�operator� itemgetter�range�os�fsdecoder �strip)r �identZe_fmtZp_fmtZp_idxZp_get�_Ze_phoffZe_phentsizeZe_phnum�iZp_typeZp_offsetZp_fileszZinterpreterr r r �_parse_ld_musl_from_elf sB r% c @ s e Zd ZU eed<