B
    '\                 @   sX   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mZ dd Zd	S )
    )absolute_import)basename)
IndexedSet)context)Solver)Channelprioritize_channelsc             O   s   dd |j D }d|j kr&|tj  t|}tdd |D }tdd |D }	t| ||	|d}
|
jt|dd	d
}| }|	  |	  d S )Nc             S   s   g | ]}|d kr|qS )
nodefaults ).0Zchanr
   r
   9lib/python3.7/site-packages/conda_env/installers/conda.py
<listcomp>   s    zinstall.<locals>.<listcomp>r	   c             s   s   | ]}t |V  qd S )N)r   )r   urlr
   r
   r   	<genexpr>   s    zinstall.<locals>.<genexpr>c             s   s   | ]}t |V  qd S )N)r   )r   r   r
   r
   r   r      s    )Zspecs_to_addpruneF)r   )
channelsextendr   r   r   r   Zsolve_for_transactiongetattrZ_get_pfeZexecute)prefixZspecsargsenv_kwargsZchannel_urlsZ_channel_priority_mapr   ZsubdirsZsolverZunlink_link_transactionZpfer
   r
   r   install   s    
r   N)Z
__future__r   os.pathr   Zconda._vendor.boltons.setutilsr   Zconda.base.contextr   Zconda.core.solver   Zconda.models.channelr   r   r   r
   r
   r
   r   <module>   s   