JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr (e^GddlZddlZddlZddlZddlmZddlmZddlm Z m Z m Z m Z m Z mZ ddlmZmZddlmZddlmZddlmZmZdd lmZdd lmZdd lm Z m!Z!m"Z"m#Z#dd l$m%Z%m&Z&dd l'm(Z(ddl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3ddl4m5Z5m6Z6ejne8Z9ejtdejvZ<GddZ=GddZ>y#e$r ddlmZmZYwxYw)N)Path)CompletedProcess)Dict GeneratorListNoReturnOptionalSet) Distribution EntryPoint)canonicalize_name)animate)PIPX_SHARED_PTHExitCode)hazard)DEFAULT_PYTHON)fix_package_name get_extrasparse_specifier_for_installparse_specifier_for_metadata) PackageInfo PipxMetadata) shared_libs) PipxErrorexec_appfull_package_descriptionget_site_packagesget_venv_paths pipx_wraprmdirrun_subprocesssubprocess_post_check&subprocess_post_check_handle_pip_error) VenvMetadata inspect_venvz[ ^(?P[\w.]+)\s* (:\s*(?P[\w.]+))?\s* (?P\[.*\])?\s*$ cdeZdZdZdefdZdefdZdefdZde eddffdZ d edefd Z d d Z y) VenvContainerz&A collection of venvs managed by pipx.rootc||_yN)_root)selfr(s +/usr/lib/python3/dist-packages/pipx/venv.py__init__zVenvContainer.__init__9s  returnc4dt|jdS)NzVenvContainer()strr+r,s r-__repr__zVenvContainer.__repr__<sDJJ2!44r/c,t|jSr*r3r5s r-__str__zVenvContainer.__str__?s4::r/Nc#K|jjsy|jjD]}|js|yw)z+Iterate venv directories in this container.N)r+is_diriterdir)r,entrys r-iter_venv_dirszVenvContainer.iter_venv_dirsBsFzz  " ZZ'') E<<>K sAA package_namecJ|jjt|S)z7Return the expected venv path for given `package_name`.)r+joinpathr )r,r>s r- get_venv_dirzVenvContainer.get_venv_dirKszz""#4\#BCCr/cD|jD] }t|yr*)r=Venv)r,ps r-verify_shared_libsz VenvContainer.verify_shared_libsOs!$$& A G r/r0N) __name__ __module__ __qualname____doc__rr.r4r6r8rr=rArEr/r-r'r'6s\0T5#5 $d*: ;DDDr/r'ceZdZdZdeddedededdfd Ze defd Z e defd Z e de ee ffd Ze defd Zd3deedeededdfdZdefdZd4dZdeeddfdZd3dedefdZ d5dededeedededededdfdZdeedeeddfd Zdedeedefd!Zded"eedefd#Z d5dededeedededededdfd$Zdefd%Zd3deefd&Zd'edee fd(Z!d'ed)ed*eede"fd+Z#d'ed)edefd,Z$dedeeddfd-Z% d5dededeedededededdfd.Z&d/eedd0fd1Z'd/eede(fd2Z)y)6rCzJAbstraction for a virtual environment with various useful methods for pipxF)verbosepythonpathrMrNr0Nc||_||_t|j\|_|_|_t ||_||_| |_ |jjxr,tt|jj|_|jr|j rt"j$r't"j&r,t#j(|nt#j*|t"j$sCt-t/dt"jdd|jj0dzdyyy#t$r d|_YwxYw) N)venv_dirF)rMz3 Error: pipx's shared venv z is invalid and needs re-installation. To fix this, install or reinstall a package. For example: z pipx install z --force wrap_message)r(rNrbin_path python_pathman_pathr pipx_metadatarM do_animationexistsboolnextr; _existing StopIterationuses_shared_libsris_valid needs_upgradeupgradecreaterrname)r,rOrMrNs r-r.z Venv.__init__Ws>  9G 9R6 t')48 'K #!YY--/SDdii>O>O>Q9R4SDN >>d33##,,''8""7+''33>3C3C2DE*$))..)9BC"'  (4> #"DN #sA EE21E2c|jjjD|jjj|jjj}|S|jj }|Sr*)rW main_packagepackagesuffixr(rc)r, venv_names r-rcz Venv.namewsk    * * 2 2 >--::BBCHZHZHgHgHnHnGopI Ir/c||jr0|jjdtz}t |dduSy)Nz**/T)r\r(globrr[)r, pth_filess r-r^zVenv.uses_shared_libss7 >> u'>?I 4(4 4r/c|jjj}|jjj7|jj||jjj<|Sr*)rWinjected_packagescopyrerf)r, return_dicts r-package_metadatazVenv.package_metadatasb((::??A    * * 2 2 >CGCUCUCbCbK**77?? @r/c|jjj|jjS|jjjSr*)rWrerfr(rcr5s r-main_package_namezVenv.main_package_namesB    * * 2 2 :99>> !%%22:: :r/ venv_argspip_argsoverride_sharedc td|j5|jddg}|s|jdt ||zt |j gz}dddttj|j|s@t|jtz }|jtjdd||j _|j%|j _y#1swYxYw) zv override_shared -- Override installing shared libraries to the pipx shared directory (default False) zcreating virtual environment-mvenvz --without-pipN zutf-8)encoding)rrXrNappendr!r4r(r"rrbrMrrUr write_text site_packagesrWrsget_python_versionpython_version)r,rsrtrucmd venv_processpipx_pths r- create_venvzVenv.create_venvs3T5F5F G N;;f-C" ?+)# /S^>!!r/c |jrt|jytj t dt d|jddy)Nz z Not removing existing venv zT because it was not created in this session z )subsequent_indent)rr r(loggerwarningrrr5s r- remove_venvzVenv.remove_venvsS    $))  NNH9$))E'.  r/c|jr"tj||jy|j d|y)N)rtrMpip)r^rrarMupgrade_package_no_metadata)r,rts r-upgrade_packaging_librariesz Venv.upgrade_packaging_librariess1    4<< H  , ,UH =r/rf was_injectedc td||j5ddg|gz}|j|ddd|r@|j jj||j jyy#1swYLxYw#t$r*}t j |td|ddd}~wwxYw)Nz uninstalling uninstallz-yzError uninstalling .) rrX_run_piprlogginginforWrmpopwrite)r,rfrres r-uninstall_packagezVenv.uninstall_packages H= 2D4E4EF #"D)WI5 c" #     0 0 4 4W =    $ $ &  # # H LLO1'!<=4 G Hs-B BB B B B?%B::B?r>package_or_urlinclude_dependencies include_appsis_main_packagergc t||}t||\}}tdt|||j5t |j ddddg||}t|dd} dddt | jrtdt||d |j||||||| |j|jtd t||d d y#1swYxYw)N installing rwr --no-inputinstallF log_stdout log_stderrError installing rr>rrtrrrrgzUnable to install zR. Check the name or spec for errors, and verify that it can be installed with pip.rR)rrrrrXr4rUr!r# returncoder_update_package_metadatarppackage_version) r,r>rrtrrrrgr pip_processs r-install_packagezVenv.install_packagesQ*.,G&AQY%Z" 2<PQ R     RD$$%   C)5QK# R$ /{;  ! !/0HWe0f/gghij j %%%)!5%+ &    . > > F$+L.IJK)*#   GC R Rs -C11C: requirementsc@tddj||j5t|jddddg||}t |dd}d d d t |jrtd dj|d y #1swY?xYw) zEInstall packages in the venv, but do not record them in the metadata.rz, rwrrrFrNrr) rjoinrXr4rUr!r#rr)r,rrtrrs r-install_unmanaged_packageszVenv.install_unmanaged_packagess {499\#:";O>O P RD$$%   C)5QK R /{;  ! !/ ,0G/HJK K "! R Rs -BBctd||j5|j}dddg||}|j|}dddt d|j rt d|d|jz }t|d k(r*|j}tjd ||Stjd |tjd |t d|d#1swYxYw) Nzdetermining package name from rrz--no-dependenciesF) raise_errorz9 Cannot determine package name from spec zA. Check package spec for errors. zDetermined package name: zold_package_set = zinstall_packages = ) rrXlist_installed_packagesrr"rrlenrrr)r,rrtold_package_setrrinstalled_packagesr>s r-install_package_no_depszVenv.install_package_no_deps,sH 5n5GH$J[J[ \ -"::B C KK,_,=> ? KK-.@-AB C99G8JK 5 - -s +C??Dpackage_extrasctj}t|||j|j|j}t j ddtj|z zdd|S)Nzget_venv_metadata_for_package: g@@z.0fms)timer%rTrUrVrr)r,r>r data_start venv_metadatas r-get_venv_metadata_for_packagez"Venv.get_venv_metadata_for_packagePsbYY[ $\>4==RVRbRbdhdqdqr  5c499;z;Q6RSV5WWYZ[r/c|j|t|}t|t|||||j|j |j |j|j|j|j|j|j|} |r| |j_n| |jj|<|jj!y)N)rfrrtrrapps app_pathsapps_of_dependenciesapp_paths_of_dependencies man_pages man_pathsman_pages_of_dependenciesman_paths_of_dependenciesrrg)rrrrrrrrrrrrrrWrermr) r,r>rrtrrrrgvenv_package_metadata package_infos r-rzVenv._update_package_metadataVs!% B B   "r/crtt|jdgjj S)Nz --version)r!r4rUstdoutstripr5s r-r~zVenv.get_python_versionys,s4#3#34kBCJJPPRRr/ctt|jddddg|rdgngz}tj|j j }|Dchc]}|d c}Scc}w)Nrwrlistz --format=jsonz--not-requiredrc)r!r4rUjsonloadsrr)r, not_requiredcmd_runpip_listxs r-rzVenv.list_installed_packages|si !! "D% IcoN^M_uw x ::gnn2245#+,a& ,,,s A,appc0|jjsytj|jt t |jg}|D]8}|jD]'}|jdk(s|j|k(s#|ccS:y)N)rcrOzpipx.run) rUrYr discoverrrr4r entry_pointsgrouprc)r,rdistsdisteps r-_find_entry_pointzVenv._find_entry_points&&(%%4+A+AM^_c_o_oMpIqHrs D'' 88z)bggnI  r/filenameapp_argsc h|j|}|%tt|j|z g|ztj |j }|Jd|jdd\}}d|d|jd|d|d }tt|jd |g|zy) Nzinvalid entry pointmoduleattrz import sys, z sys.argv[0] = z sys.exit(rz()) z-c) rrr4rT_entry_point_value_patternmatchvaluerrcrU) r,rrr entry_pointrrrcodes r-run_appz Venv.run_apps,,S1    c$--(234x? @ +001B1BC 7"77 {{8V4 fX%9+:J:J9M_]c\ddefjekkpq#d&&'t4x?@r/c`|j|y|j|z jS)NT)rrTis_file)r,rrs r-has_appz Venv.has_apps.  ! !# & 2 (1133r/ctdt|||j5|jddg|zd|gz}dddt y#1swYxYw)N upgrading rr --upgrade)rrrXrr")r,r>rtrs r-rz Venv.upgrade_package_no_metadataso 1, MN O     l--y(AH(LP[]iOj(jkK  l k*  l ls AAc tdt|||j5|jddg|zd|gz}dddt |j |||||||y#1swY-xYw)Nrrrrr)rrrXrr"r) r,r>rrtrrrrgrs r-upgrade_packagezVenv.upgrade_packages1,OP Q     n--y(AH(LP[]kOl(lmK  n k* %%%)!5%+ &  n ns A,,A5rzCompletedProcess[str]ct|jddg|z}|js|jdt |S)Nrwr-q)r4rUrMr{r!)r,rs r-rz Venv._run_pips<4##$dE2S8|| JJt c""r/ct|jddg|z}|js|jdt |ddj }|r0dj d|D}tj|dt|S) NrwrrF)capture_stdoutcapture_stderr c32K|]}t|ywr*)r4).0cs r- z-Venv.run_pip_get_exit_code..s3!s1v3sz failed) r4rUrMr{r!rrrerrorr)r,rrcmd_strs r-run_pip_get_exit_codezVenv.run_pip_get_exit_codesz4##$dE2S8|| JJt #CeT__ hh3s33G LLG;g. / ##r/)FrF))*rGrHrIrJrrrZr4r.propertyrcr^rrrprrrrrrrrrrrr r$rrr~rr r rrrrrrrrrrKr/r-rCrCTsTT6;>TtS^b@c$$sK'7"8 ;3;;FT#YF$s)FVZFgkF8"" >DI>$> ' 'D '*888s) 8 # 8  888 8tLtCyLDQTILZ^L0"c"T#Y"SV"H#sSVx\h!#!#!#s) !# # !#  !#!#!# !#FSCS-SX-SXj-AA3A#AcAxA 434#4$4 ++tCy+UY+    s)  #        6#DI#*A# $c$x$r/rC)?rrrerpathlibr subprocessrtypingrrrrr r importlib.metadatar r ImportErrorimportlib_metadatapackaging.utilsr pipx.animaterpipx.constantsrr pipx.emojisrpipx.interpreterrpipx.package_specifierrrrrpipx.pipx_metadata_filerrpipx.shared_libsr pipx.utilrrrrrrr r!r"r#pipx.venv_inspectr$r% getLoggerrGrcompileVERBOSErr'rCrKr/r-rs  'AA<;. 4+ >(   9   8 $'RZZ JJ <$$S<;;