File: D:/Python311/Lib/site-packages/pip/_internal/commands/__pycache__/lock.cpython-311.pyc
�
�mi� � �� � d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl m
Z
mZ d dlm
Z
d dlmZmZ d d lmZ d d
lmZ d dlmZ d dlmZ ee� � Z G d
� de
� � ZdS )� N)�Values)�Path)�
WheelCache)�
cmdoptions)�RequirementCommand�with_cleanup)�SUCCESS)�Pylock�is_valid_pylock_file_name)�get_build_tracker)� getLogger)�get_pip_version)�
TempDirectoryc �N � e Zd ZdZdZd d�Zededee de
fd�� � ZdS )
�LockCommanda�
EXPERIMENTAL - Lock packages and their dependencies from:
- PyPI (and other indexes) using requirement specifiers.
- VCS project urls.
- Local project directories.
- Local or remote source archives.
pip also supports locking from "requirements files", which provide an easy
way to specify a whole environment to be installed.
The generated lock file is only guaranteed to be valid for the current
python version and platform.
z�
%prog [options] [-e] <local project path> ...
%prog [options] <requirement specifier> [package-index-options] ...
%prog [options] -r <requirements file> [package-index-options] ...
%prog [options] <archive url/path> ...�returnNc �� � | j � t j ddddddd�� � � � | j � t j � � � � | j � t j � � � � | j � t j � � � � | j � t j � � � � | j � t j � � � � | j � t j � � � � | j � t j
� � � � | j � t j � � � � | j � t j � � � � | j � t j
� � � � | j � t j � � � � | j � t j � � � � | j � t j � � � � | j � t j � � � � | j � t j � � � � | j � t j � � � � | j � t j � � � � t j t j | j � � }| j � d|� � | j � d| j � � d S ) Nz--outputz-o�output_file�pathzpylock.tomlz7Lock file name (default=pylock.toml). Use - for stdout.)�dest�metavar�type�default�helpr )�cmd_opts�
add_optionr � PipOption�requirements�constraints�build_constraints�no_deps�pre�editable�src�ignore_requires_python�no_build_isolation�
use_pep517�check_build_deps�config_settings� no_binary�only_binary�
prefer_binary�require_hashes�progress_bar�make_option_group�index_group�parser�insert_option_group)�self�
index_optss �=D:\Python311\Lib\site-packages\pip/_internal/commands/lock.py�add_optionszLockCommand.add_options- s� � ��
� � �� ���"���%�N�
�
�
�
�
�
�
�
� � ��!8�!:�!:�;�;�;��
� � ��!7�!9�!9�:�:�:��
� � ��!=�!?�!?�@�@�@��
� � ��!3�!5�!5�6�6�6��
� � ���!1�!1�2�2�2��
� � ��!4�!6�!6�7�7�7��
� � ���!1�!1�2�2�2��
� � ��!B�!D�!D�E�E�E��
� � ��!>�!@�!@�A�A�A��
� � ��!6�!8�!8�9�9�9��
� � ��!<�!>�!>�?�?�?��
� � ��!;�!=�!=�>�>�>��
� � ��!5�!7�!7�8�8�8��
� � ��!7�!9�!9�:�:�:��
� � ��!9�!;�!;�<�<�<��
� � ��!:�!<�!<�=�=�=��
� � ��!8�!:�!:�;�;�;��1��"��K�
�
�
�
��'�'��:�6�6�6���'�'��4�=�9�9�9�9�9� �options�argsc
� � t � dt � � � � t � d� � t j |� � | � |� � }| � |||j �� � }| � t � � � � }t |j dd�� � }| �
||||� � }t |j � � }|D ] } d| _ �
| � |||||d| j �� � }
| � |
|||dd|j d �
� � }| � |� � |� |d�� � }|j dk rt/ j � � }
nEt/ |j � � }t3 |� � st � d
|� � |j }
t7 j |j � � � |
�� � � � � }|j dk r t@ j! �"