B
    '\                 @   s   d dl mZmZmZmZ d dlZd dlZddlmZm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZmZ dd
lmZ ddlmZ ddlmZmZ ddlmZmZ ddlmZ ee Z!dd Z"dS )    )absolute_importdivisionprint_functionunicode_literalsN   )check_non_adminspecs_from_args)
handle_txn   )context)unregister_env)PrefixSetupUnlinkLinkTransaction)
PrefixData)Solver)CondaEnvironmentErrorCondaValueError)rm_rfpath_is_clean)	MatchSpecc       
      C   s,  | j s| jstdtj}t  | j r<|tjkr<d}t|| j rNt|rNdS | j r|tj	krftdt
d| tjd d| krt|tt| dddd	}t|}t||| d
d t|dd t| d S | jrtdd t| jD }n
t| j}d}d}t||||d}	|	 }t||| d
d d S )NzHno package names supplied,
       try "conda remove -h" for more detailszHcannot remove current environment. deactivate and run conda remove againr   zFcannot remove root environment,
       add -n NAME or -p PREFIX optionz(
Remove all packages in environment %s:
)filepackage_names )target_prefixZunlink_precsZ
link_precsZremove_specsZupdate_specsFT)Zclean_empty_parentsc             s   s   | ]}t |d V  qdS ))Ztrack_featuresN)r   ).0fr   r   4lib/python3.7/site-packages/conda/cli/main_remove.py	<genexpr>L   s    zexecute.<locals>.<genexpr>)Zspecs_to_remove)allr   r   r   r   r   Zdefault_prefixr   r   Zroot_prefixprintsysstderrr   tupler   Ziter_recordsr   r	   r   r   Zfeaturessetr   r   Zsolve_for_transaction)
argsparserprefixmsgZstpZtxnZspecsZchannel_urlsZsubdirsZsolverr   r   r   execute   sB    

r(   )#Z
__future__r   r   r   r   Zloggingr    commonr   r   Zinstallr	   Zbase.contextr   Zcore.envs_managerr   Z	core.linkr   r   Zcore.prefix_datar   Z
core.solver   
exceptionsr   r   Zgateways.disk.deleter   r   Zmodels.match_specr   Z	getLogger__name__logr(   r   r   r   r   <module>   s   
