
    @eb                         d Z ddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
 de
ee   ef   de	e   fdZdeeef   fdZd
dZed	k(  r e        yy)zm
display environment information that is frequently
used to troubleshoot installations of Jupyter or IPython
    N)AnyDictListOptionalUnioncmdreturnc                     	 t        j                  |       }|j                  dd      j                         S # t        t         j
                  f$ r Y yw xY w)zF
    get data from commands that we need to run outside of python
    zutf-8replaceN)
subprocesscheck_outputdecodestripOSErrorCalledProcessError)r   stdouts     ;/usr/lib/python3/dist-packages/jupyter_core/troubleshoot.pysubsr      sN    ((-}}Wi06688Z223 s   47 AAc                     i } t         j                  j                  d      | d<   t        j                  | d<   t        j
                  | d<   t        j                  | d<   t        j                         | d<   t        j                  dk(  rt        dd	g      | d<   d
| d<   nt        g d      | d<   d
| d<   t        t        j
                  dddg      | d<   t        ddg      | d<   t        g d      | d<   | S )z9
    returns a dict of various user environment data
    PATHpathsys_pathsys_exesys_versionplatformwin32wherejupyterNwhich)r   z-ar   z-mpiplistconda)r"   envexport	conda-env)	osenvirongetsysr   
executableversionr   r   )r#   s    r   get_datar,      s     C**..(CKhhC
O^^C	NC'')C
O
||wWi01GG67GGs~~tUF;<CJ&)*CL67CJ    c                  2   dt         j                  v ryt               } t        d       | d   j	                  t         j
                        D ]  }t        d|         t        d       | d   D ]  }t        d|         t        d       t        d| d	           t        d
       d| d   v r(| d   j	                  d      D ]  }t        d|         nt        d| d           t        d       t        d| d           | d   r2t        d       | d   j	                  d      D ]  }t        d|         | d   r2t        d       | d   j	                  d      D ]  }t        d|         | d   r2t        d       | d   j	                  d      D ]  }t        d|         | d   r2t        d       | d   j	                  d      D ]  }t        d|         | d   r3t        d       | d   j	                  d      D ]  }t        d|         yy)z
    print out useful info
    _ARGCOMPLETENz$PATH:r   	z

sys.path:r   z
sys.executable:r   z
sys.version:
r   z
platform.platform():r   r   z
which -a jupyter:r   z
where jupyter:r    z

pip list:r"   z
conda list:r%   z
conda env:)r&   r'   r,   printsplitpathsep)environment_data	directorydatalinepackages        r   mainr:   0   s_    # 	z	(O%f-33BJJ?  	9+  
-%j1  	9+  

	B	*+
,-	
..$]399$? 	DBtf+	 	#M2345	
"#	B
+,
-. #$$W-33D9 	DBtf+	   !$W-33D9 	DBtf+	 m'.44T: 	"GBwi.!	"  o'066t< 	"GBwi.!	" $n'4::4@ 	"GBwi.!	" %r-   __main__)r	   N)__doc__r&   r   r   r)   typingr   r   r   r   r   strr   r,   r:   __name__ r-   r   <module>rA      sp   
 
   
 3 3eDIsN#  $sCx. .9"x zF r-   