o
    Zhw                     @  sx   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
ZdddZdddZedkr:e  dS dS )zm
display environment information that is frequently
used to troubleshoot installations of Jupyter or IPython
    )annotationsN)AnyOptionalUnioncmdUnion[list[str], str]returnOptional[str]c              	   C  s8   zt | }|dd W S  tt jfy   Y dS 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   stdout r   P/var/www/html/lang_env/lib/python3.10/site-packages/jupyter_core/troubleshoot.pysubs   s   
r   dict[str, Any]c                  C  s   i } t jd| d< tj| d< tj| d< tj| d< t | d< tjdkr1t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"   envZexport	conda-env)	osenvirongetsysr   
executableversionr   r   )r#   r   r   r   get_data   s   




r+   Nonec                  C  s  dt jv rdS t } td | d t jD ]	}td|  qtd | d D ]	}td|  q(td td| d	   td
 d| d v r[| d dD ]	}td|  qPn	td| d   td td| d   | d rtd | d dD ]	}td|  q| d rtd | d dD ]	}td|  q| d rtd | d dD ]	}td|  q| d rtd | d dD ]	}td|  q| d rtd | d dD ]}td|  qdS d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   sR   
r6   __main__)r   r   r   r	   )r   r   )r   r,   )__doc__
__future__r   r%   r   r   r(   typingr   r   r   r   r+   r6   __name__r   r   r   r   <module>   s   


<
