JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr (e::ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z m Z mZmZmZmZmZmZmZmZddlZddlmZddlmZmZmZej:eZGdde Z!Gdd eZ"d e d e fd Z#d8d e d e$d dfdZ%d e d dfdZ&de d dfdZ'de(d e fdZ)de dee(d efdZ*erde d ee e e ffdZ+nde d ee e e ffdZ+de d e fdZ,de e(e(fd e e(e(ffdZ- d9deee(e fde$d e$d!ee(d"e$d#e$d d$fd%Z.d8d&d$d'e$d dfd(Z/d)ee d ee fd*Z0d+e(d,e(d dfd-Z1 d:d.Z2 d;deee(e fdee e(e(fd/eee(d efd0Z3d1e(d2e(d e(fd3Z4d <<>+ + OD)*+s$#A  A  binary_namectdttjjdzttjj zz dz dz |z S)N__pypackages__r2libbin)rr#sys version_infomajorminor)rRs rget_pypackage_bin_pathr[[sa  s%% & ,s33C3C3I3I/J J L       rbin_pathargsctt|jg|zdt|jjgy)Nr2)extra_python_paths)exec_appr#resolveparent)r\r]s rrun_pypackage_binrces: X    !D(X__%;%;!<=rrootcFts|dz n|dz }|dz }|dz dz }|||fS)NScriptsrVz python.exeshareman)rrdr\ python_pathman_paths rget_venv_pathsrlns9+04)#dUl- '>E)h..rc0|dz }|dz }|dz dz }|||fS)NrVpythonrgrhr+ris rrlrlvs0%<) '>E)h..rrnct|ddgdj}t|j}|j dd|S)Nz-cz6import sysconfig; print(sysconfig.get_path('purelib'))F)capture_stderrTrH)run_subprocessstdoutrstripr4)rnoutputr,s rget_site_packagesru}sK  OP f    DJJtdJ+ Krenvchddg}|D]}|j|dd|d<d|d<d|d<d|d <|S) N PYTHONPATH__PYVENV_LAUNCHER__1PIP_DISABLE_PIP_VERSION_CHECKutf-8PYTHONIOENCODINGPYTHONLEGACYWINDOWSSTDIO0PIP_USER)pop)rv env_blocklist env_to_removes r_fix_subprocess_envrs] "#89M&%   t$%,/C'(%C&-C"#C O Jrcmdcapture_stdoutrp log_cmd_str log_stdout log_stderr subprocess.CompletedProcess[str]c ttj}t|}|dj d|D}t j d||Dcgc] }t|}}tjj|ds+tr%tjj|d|d<tj|||rtjnd|rtjndddd } |r2|r0t jd | j j#|r2|r0t jd | j$j#t jd | j&| Scc}w) z?Run arbitrary command as subprocess, capturing stderr and stoutN c32K|]}t|ywr)r#).0cs r z!run_subprocess..s3!s1v3szrunning rr|TFrvrrstderrencodinguniversal_newlinescheckzstdout: zstderr: z returncode: )dictosenvironrr5r?r@r#r,islinkrrealpath subprocessrunPIPEdebugrrrstripr returncode) rrrprrrrvr cmd_str_listcompleted_processs rrqrqsB rzz C c "Chh3s33  KK(;-()$'(qCF(L( 77>>,q/ *w''**<?; Q" "0zd"0zd* x 1 8 89:AACD* x 1 8 89:AACD LL< 1 < <=>? 3)sFr raise_errorc |jr|j&t|jtjd|j&t|jtjd|r>t dj |jDcgc] }t|c}dtjdj |jdyycc}w)Nr/rKendr failed) rrrprintrWrrr5r]r#r?r@)rrxs rsubprocess_post_checkrs##  # # / #** D  # # / #** D sxx9J9O9O(PAQ(PQTT[\] ] KK388$5$:$:;>gF G$ )QsC$ input_listcg}t}|D]/}|d|vs |j||j|d1|S)Nr)setappendadd)r output_listseenrs r dedup_orderedrsNK 5D  Q4t    q ! HHQqTN r pip_stdout pip_stderrc 2d}g}d}|jdD]q}tjd|}tjd|}|r-|jdj j}|sa|jd}st tj dtjdt tj d tjd t tj d d t tj d tjdt tj dtjdt tj dtjdg}tj d} g} t} |jdD]}| j|} | r | j| jd|D]J} | jj|s| j|j | jf|rZdj|}t|dkDrdnd}tdt j"t$j'd|d|n| rZdj| }t| dkDrdnd}tdt j"t$j'd|d|n5|3tdt j"t$j'd|t)| } | rtdt j"|Dcgc]}|j}}| j+}t|dkDrSt||kDrE|j-d| Dcgc] }|d|vs |}}t|dkDrt||kDrE|D]#}td|dt j"%yycc}wcc}w) ajExtract useful errors from pip output of failed install Print the module that failed to build Print some of the most relevant errors from the pip output Example pip stderr line for each "relevant" type: not_found Package cairo was not found in the pkg-config search path. src/common.h:34:10: fatal error: 'stdio.h' file not found The headers or library files could not be found for zlib, no_such unable to execute 'gcc': No such file or directory build\test1.c(2): fatal error C1083: Cannot open include file: 'cpuid.h': No such file ... exception_error Exception: Unable to find OpenSSL >= 1.0 headers. (Looked here: ... fatal_error LINK : fatal error LNK1104: cannot open file 'kernel32.lib' conflict_ ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/... error_ error: can't copy 'lib\ansible\module_utils\ansible_release.py': doesn't exist ... build\test1.c(4): error C2146: syntax error: missing ';' before identifier 'x' N zFailed to build\s+(\S.+)$z^\s*Collecting\s+(\S+)znot (?:be )?found not_foundzno suchno_suchz(Exception|Error):\s*\S+exception_errorz fatal error fatal_errorconflict conflict_zerror:(?!.+Command errored out)(?!.+failed building wheel for)(?!.+could not build wheels? for)(?!.+failed to build one or more wheels).+[^:]$error_z/Failed to build\s+(?!one or more packages)(\S+)z sr/rPzpip failed to build packagez: z#pip seemed to fail to build packagez)pip seemed to fail to build package: z0 Some possibly relevant errors from pip install:z r)splitresearchgrouprsr'compileIrrr(rr)r5lenrrWrr?errorrcopyr)rrmax_relevant_errorsfailed_build_stdoutlast_collecting_depline failed_matchcollecting_matchrelevant_searchesfailed_stderr_pattrelevants_savedfailed_build_stderrfailed_build_matchrelevant_searchfailed_to_build_str plural_strrprint_categoriesrelevants_saved_filteredrelevant_saveds ranalyze_pip_outputrs0%')-  &<yy!=tD 99%>E "."4"4Q"7"="="?"E"E"G  "2"8"8";  < rzz"6={Krzz*bdd3Y?rzz"=>@QRrzz."$$7Grzz+rtt4kB JJ    ($VWO%  &/66t<   # #$6$<$ ?C(`sP5 PPc|jrstjdj|jdt j j tdt j jjt j jjdzz }|jdd5}td| td | |jt|j|d td | td | |jt|j|d dddtjd|t!|j|jyy#1swYCxYw)Nrrz)Pipx internal error: No log_file present.z_pip_errors.logwr|)rz PIP STDOUTrPz ----------r/rz PIP STDERRzJFatal error from pip prevented installation. Full pip output in file: )rr?r@r5r]pipx constants pipx_log_filerrbstemopenrrrrrr)rpip_error_file pip_error_fhs r&subprocess_post_check_handle_pip_errorrCsF## sxx 1 6 67:'BC >> ' ' /GH H55<<@\@\@a@adu@uv  w 7 K< ,\ 2 ,\ 2 ''3'..\rJ .| 4 ,\ 2 ''3'..\rJ K  efteuvw,335F5M5MN%$  K Ks A=FF r_c |ttj}t|}|tjj j |tjdr=tjddjtjj ngz|d<ttjddj |Dcgc] }t|c}ztr:tjt!j"||ddddd j$ytj&t|d |Dcgc] }t|c}|ycc}wcc}w) zRun command, do not return POSIX: replace current process with command using os.exec*() Windows: Use subprocess and sys.exit() to run command Nrxr/z exec_app: rr|TFrr)rrrrr,pathsepr5getenvrrr?r@r#rrWexitrrrexecvpe)rrvr_rrs rr`r`[s {2:: c "C%GGOO00 XZXaXabnXo"))L""="C"CBGGOO"Tuw x L M KK sxx(=AQ(=>>?  NN #' j  3s1v; 5AQ 5s;)>!6s E-E2 package_name package_specc||k(r|S|d|S)Nz from spec r+)rrs rfull_package_descriptionrs"|#{<*:;;rtextsubsequent_indent keep_newlinesc ld}ttjdj|dz }t j |j }|rDdj|jDcgc]}t j|||dc}St j|||dScc}w)zGDedent, strip, wrap to shell width. Don't break on hyphens, only spaces()PrrF)widthrbreak_on_hyphens) maxrAget_terminal_sizecolumnstextwrapdedentrsr5 splitlinesfill)rrr minimum_widthrrs rrrsM ((2::M JQ NE ??4 & & (Dyy!OO-   &7%*    }} /"    s1 B1r)TTNTT)rrr-N)NN)r/F)6loggingrr6rrAr8rrWrpathlibrtypingrrrrrr r r r r pipx.constantsr pipx.animaterrrr getLoggerr r? Exceptionrr'r<r$rFr4rQr#r[rcrlrurrqrrrrr`rrr+rrrs     $99   8 $& &Z 4$444\\t\t\(,,, +d +t +DI( /T/eD$,<&=//T/eD$,<&=/dtT#s(^S#X* !% ) %T " #)))# )  )  )()X H-O H^b Hnr Hd3iDIc?3c?Cc?Dc?LO9O O4%).2&< %T " #&< $sCx. !&<!c+&< &