
    )tf+	                         d Z ddlZddlZddlZddlZddlZej                  d   dk(  rddlmZ	 ddl
mZ n
ddlZ	ddlmZ d Zd ZddZy)	z1.3.5    N3)quotec                      t        j                  d      \  } }t        j                  d|       t	        j
                  t        j                  |g       y )Nz_get-pip.pyz$https://bootstrap.pypa.io/get-pip.py)tempfilemkstempurlurlretrieve
subprocess
check_callsys
executable)fdpaths     Z/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/install/__init__.py_get_pipr      s<    .HBOO:DA3>>401    c                      	 t        t        j                  d      5 } t        j                  t
        j                  ddg|        d d d        y# 1 sw Y   yxY w# t        j                  $ r
}Y d }~yd }~ww xY w)Nw-mpip)stdoutTF)openosdevnullr
   r   r   r   CalledProcessError)DEVNULLexcs     r   
_check_pipr      sc    "**c" 	Qg!!3>>4"?P	Q	Q(( s.   A )AA AA A A72A7c                    	 t        j                  |        y# t        $ r Y nt        $ r Y nw xY wt	               s
t                t        j                  ddg}|rKt        |t              r0|D cg c]  }t        |       nc c}w }}|j                  |       nt        d      |j                  d       |rKt        |t              r0|D cg c]  }t        |       nc c}w }}|j                  |       nt        d      |du r|j                  d       n|d	u r|j                  d
       |r|j                  d       t        |       } |j                  |        t        j                  |       y)a  Install packages dynamically in your code

    Args:
        pkg: Name of the package or requirements.txt file as a string, you can also use version specifiers like requests==1.2.3
        use_pep517: Optional boolean to force --use-pep517/--no-use-pep517
        requirements: Optional boolean if a requirements.txt was specified
        pip_options: Optional arbitary list of global options to pass to pip
        install_options: Optional arbitary list of install options to pass to pip install
    Nr   r   z,pip_options passed to install must be a listinstallz0install_options passed to install must be a listTz--use-pep517Fz--no-use-pep517z-r)	importlibimport_moduleModuleNotFoundError	Exceptionr   r   r   r   
isinstancelistr   extend	TypeErrorappendr
   r   )pkg
use_pep517requirementspip_optionsinstall_optionscmdoptionoptionss           r   r    r       s4   $   <>>4
'Ck4(3>?uV}??G?JJwJKKJJyot,3BCuV}CCGCJJwNOOT

>"	u	

$%

4
*CJJsO#s    	....BC)NNNN)__version__r
   r   r   r   r!   versionurllib.requestrequestr   shlexr   urllibpipesr   r   r     r   r   <module>r:      sD     
 	  ;;q>S 2
2r   