a
    ñ»j  ã                   @   s„   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ edœd	d
„Zee dœdd„ZG dd„ deƒZdS )é    N)ÚValues)Ú
cmdoptions)ÚCommand)ÚSUCCESS)Úfreeze)Ústdlib_pkgs©Úreturnc                   C   s
   t jdk S )N)é   é   )ÚsysÚversion_info© r   r   úCE:\soccer\ml_env\Lib\site-packages\pip/_internal/commands/freeze.pyÚ_should_suppress_build_backends   s    r   c                  C   s   dh} t ƒ r| h d£O } | S )NÚpip>   ÚwheelZ
distributeÚ
setuptools)r   )Úpkgsr   r   r   Ú	_dev_pkgs   s    r   c                   @   s<   e Zd ZdZdZdZddœdd„Zeee	 e
dœd	d
„ZdS )ÚFreezeCommandzx
    Output installed packages in requirements format.

    packages are listed in a case-insensitive sorted order.
    Tz
      %prog [options]Nr   c              	   C   s²   | j jddddg ddd� | j jdd	d
dddd� | j jdddddd� | j  t ¡ ¡ | j jdddd d tƒ ¡¡d� | j jddddd� | j  t ¡ ¡ | j 	d| j ¡ d S )Nz-rz--requirementÚrequirementsÚappendÚfilez}Use the order in the given requirements file and its comments when generating output. This option can be used multiple times.)ÚdestÚactionÚdefaultÚmetavarÚhelpz-lz--localÚlocalÚ
store_trueFzUIf in a virtualenv that has global access, do not output globally-installed packages.)r   r   r   r   z--userÚuserz,Only output packages installed in user-site.z--allÚ
freeze_allz,Do not skip these packages in the output: {}z, )r   r   r   z--exclude-editableÚexclude_editablez%Exclude editable package from output.r   )
Úcmd_optsÚ
add_optionr   Ú	list_pathÚformatÚjoinr   Úlist_excludeÚparserÚinsert_option_group)Úselfr   r   r   Úadd_options#   sR    øùû
ÿû	üzFreezeCommand.add_options)ÚoptionsÚargsr	   c              	   C   sr   t tƒ}|js| tƒ ¡ |jr,| |j¡ t |¡ t|j	|j
|j|j|j||jd�D ]}tj |d ¡ qXtS )N)ÚrequirementÚ
local_onlyÚ	user_onlyÚpathsÚisolatedÚskipr#   Ú
)Úsetr   r"   Úupdater   Úexcludesr   Úcheck_list_path_optionr   r   r   r!   ÚpathÚisolated_moder#   r   ÚstdoutÚwriter   )r,   r.   r/   r5   Úliner   r   r   ÚrunW   s"    
ù
	zFreezeCommand.run)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úignore_require_venvÚusager-   r   ÚlistÚstrÚintr@   r   r   r   r   r      s
   4r   )r   Úoptparser   Zpip._internal.clir   Úpip._internal.cli.base_commandr   Úpip._internal.cli.status_codesr   Zpip._internal.operations.freezer   Úpip._internal.utils.compatr   Úboolr   r7   rH   r   r   r   r   r   r   Ú<module>   s   	