U
    kufw                     @  s   d Z ddlm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
 ddddd	Zd
dddZddddZedkr~e  dS )zm
display environment information that is frequently
used to troubleshoot installations of Jupyter or IPython
    )annotationsN)AnyOptionalUnionzUnion[list[str], str]zOptional[str])cmdreturnc              	   C  s>   zt | }|dd W S  tt jfk
r8   Y dS X dS )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   stdout r   =/tmp/pip-unpacked-wheel-a5h937xx/jupyter_core/troubleshoot.pysubs   s
    
r   zdict[str, Any])r   c                  C  s   i } t jd| d< tj| d< tj| d< tj| d< t | d< tjdkrbtdd	g| d< d
| d< ntddd	g| d< d
| d< ttjdddg| d< tddg| d< tdddg| d< | S )z9
    returns a dict of various user environment data
    PATHpathsys_pathsys_exesys_versionplatformwin32whereZjupyterNwhichz-az-mpiplistcondaenvexport	conda-env)	osenvirongetsysr   
executableversionr   r   )r   r   r   r   get_data   s    




r(   Nonec                  C  s  dt jkrdS t } td | d t jD ]}td|  q,td | d D ]}td|  qPtd td| d	   td
 d| d kr| d dD ]}td|  qntd| d   td td| d   | d rtd | d dD ]}td|  q| d rNtd | d dD ]}td|  q8| d rtd | d dD ]}td|  qn| d rtd | d dD ]}td|  q| d rtd | d dD ]}td|  qdS )z
    print out useful info
    Z_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)Zenvironment_data	directorydatalinepackager   r   r   main1   sL    





r3   __main__)__doc__
__future__r   r"   r   r	   r%   typingr   r   r   r   r(   r3   __name__r   r   r   r   <module>   s   <