
    9fs"                        S SK r S SKrS SKJr  S SKJrJrJr  S SKJ	r	J
r
  S SKJrJr  S SKJrJrJr  S SKJr  S SKJr  S S	KJrJrJr  S S
KJrJr  S SKJrJr  SSS.S\\   S\\\       S\\    S\S\S\\    S\\    S\\    S\!S\!S\!S\!S\\\       S\ S\4S jjr"S\S\\   4S  jr#S!\S\ 4S" jr$S#\\   S\\    4S$ jr%S\S\S\S\\    S\\    S\\    S\!S\!S\4S% jr&g)&    N)Path)IteratorListOptional)commandspaths)package_name_from_specrun_post_install_actions)EXIT_CODE_INSTALL_VENV_EXISTSEXIT_CODE_OKExitCode)sleep)DEFAULT_PYTHON)PackageInfoPipxMetadata_json_decoder_object_hook)	PipxError	pipx_wrap)VenvVenvContainer F)suffixpython_flag_passedvenv_dirpackage_namespackage_specslocal_bin_dirlocal_man_dirpythonpip_args	venv_argsverboseforce	reinstallinclude_dependenciespreinstall_packagesr   returnc	                   U=(       d    [         nU=(       d    / n[        U5      [        U5      :w  a  U Vs/ s H  n[        XXhS9PM     nn[        X5       GH  u  nnU c8  [	        [
        R                  R                  5      nUR                  U U 35      n  U R                  5       =(       a"    [        [        U R                  5       5      5      n[        XUS9nUR                  XhS9  U(       a  U
(       d/  U	(       a(  U(       a!  [!        [#        SU SU SU SU S	3	5      5        U	(       a   [!        S
UR$                  < 35        S/U-   nOB[!        [#        SUR$                  < SU  S35      5        [        U5      S:X  a  [&        s  $ Sn GM;   US:H  nUR)                  XvU5        U=(       d    /  H  nUR+                  U/ 5        M     UR-                  UUUUSSUS9  [/        UUUUU UU	S9  Sn GM     [6        $ s  snf ! [         a    Sn GN@f = f! [0        [2        4 a    [!        5         UR5                  5         e f = f)zReturns pipx exit code.)r    r"   NF)r   r"   zv
                        --python is ignored when --force is passed.
                        If you want to reinstall z with z.,
                        run `pipx reinstall z
 --python z#` instead.
                        zInstalling to existing venv z--force-reinstallz
                        z` already seems to be installed. Not modifying
                        existing installation in 'zY'. Pass '--force'
                        to force installation.
                           pipT)package_namepackage_or_urlr    r%   include_appsis_main_packager   )r#   )r   lenr	   zipr   r   ctxvenvsget_venv_direxistsboolnextiterdirStopIterationr   check_upgrade_shared_libsprintr   namer   create_venvupgrade_package_no_metadatainstall_packager
   	ExceptionKeyboardInterruptremove_venvr   )r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r   r   package_specr+   venv_containerr4   venvoverride_shareddeps                         7/usr/lib/python3/dist-packages/pipx/commands/install.pyinstallrH      s   , %~F!'RM
=S// !.
 - #<(\ - 	 

 '*-&G"l*599??;N%22l^F83LMH	__&I4X5E5E5G0H+IF HW=&&&J+=22>vfX N--9N*VH M 4TYYMBC/08; &33;* = }%*88	*e3OY/B*0b000b9 1  )+!%9! $ !  %$ Q 'HV a
  	F	v ,- 	G	s$   H 9HAHHH,Ispec_metadata_filec              #   ,  #    [        U 5       n [        R                  " U[        S9nSU;   a  [        US   5      (       d  [        S5      eUS   n[        U[        5      (       d  [        S5      eU HP  n[        R                  R                  R                  U5      n[        USS9nUR                  XE   S	   5        Uv   MR     SSS5        g! [        R                  R
                   a  n[        S5      UeSnAff = f! , (       d  f       g= f7f)
z.Extract venv metadata from spec metadata file.)object_hookz/The spec metadata file is an invalid JSON file.Nr2   z,No packages found in the spec metadata file.z"The spec metadata file is invalid.F)readmetadata)openjsonloadr   decoderJSONDecodeErrorr   r/   
isinstancedictr   r1   r2   joinpathr   	from_dict)rI   spec_metadata_fhspec_metadata_dictexcvenvs_metadata_dictpackage_path_namer   venv_metadatas           rG   extract_venv_metadatar]      s     	 	!%5	X!%+;Ib!c --#6H6Q2R2RJKK09-t44@AA!4yy//0ABH(>M##$7$J:$VW	 "5 
"	! ||++ 	XMNTWW	X 
"	!s?   DDCBD	DD /C;;D  D
DDpackage_infoc                     U R                   (       d  [        SU R                   35      eU R                  U R                   :X  a  U R                   SU R                   3$ U R                   $ )z5Generate more precise package spec from package info.z$A package spec is not available for z==)r,   r   packagepackage_version)r^   s    rG   generate_package_specrb      sd    &&>|?S?S>TUVV|:::&&'r,*F*F)GHH&&&    source_interpreterc                 z    U b   U R                  5       (       a  [        U 5      $ [        [        SU  S35      5        g)z#Get appropriate python interpreter.Nz.
            The exported python interpreter 'z3' is ignored
            as not found.
            )is_filestrr:   r   )rd   s    rG   get_python_interpreterrh      sP     %*<*D*D*F*F%&&	..@-A B	
 rc   c                   [        [        R                  R                  5      n/ n	/ n
[	        U 5       GH  nUR
                  nUR                  UR                   UR                   35      n [        US[        U5      /UUU=(       d    [        UR                  5      UUUUSUR                  / UR                  S9  UR                  R                  5        HU  n[         R"                  " US[        U5      // UUUR$                  UR                  UUR                  UR                  :H  S9
  MW     U
R'                  UR(                  5        GM     [3        U
5      S:X  a  [-        SU  S[4         35        [3        U	5      S:  a  [+        S	S
R7                  U	5       35      e[8        $ ! [*         a?  n[-        U[.        R0                  S9  U	R'                  UR(                  5         SnAGM  SnAff = f)zReturn pipx exit code.NF)r#   r$   r%   r&   r   )
r   r+   r   requirement_filesr    r"   r-   r%   r#   r   )filer   z6No packages installed after running 'pipx install-all z' z,The following package(s) failed to install: z, )r   r   r1   r2   r]   main_packager3   r`   r   rH   rb   rh   rd   r%   injected_packagesvaluesr   injectr-   appendr;   r   r:   sysstderrr/   r   joinr   )rI   r   r   r   r    r!   r"   r#   rC   failed	installedr\   rl   r   inject_packagees                   rG   install_allrx      s    #599??3NFI./AB$11!..,2F2F1GH[H[G\/]^$	,&|45R01Q1QR%1%F%F$&#**$ #0"A"A"H"H"J%!%#8#H"I&(%#!/!<!<)7)L)L)00L4G4GG #K" X]]+Q CR 9~FGYFZZ\]b\cde
6{QFtyyQWGXFYZ[[  	)!#**%MM(--((	)s   -CF&&
G/03G**G/)'rO   rq   pathlibr   typingr   r   r   pipxr   r   pipx.commands.commonr	   r
   pipx.constantsr   r   r   pipx.emojisr   pipx.interpreterr   pipx.pipx_metadata_filer   r   r   	pipx.utilr   r   	pipx.venvr   r   rg   r5   rH   r]   rb   rh   rx    rc   rG   <module>r      s    
  + +   Q 
  + X X * )$ !jtnjDI&j 9j 	j
 j SMj 3ij Cyj j j j j "$s),j j" #jZ d  x7M  .' ' ' c]&>>> > SM	>
 3i> Cy> > > >rc   