o
    iZ                     @   s   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dZdeeef fdd	Zdd
dZedkrJe  dS dS )zm
display environment information that is frequently
used to troubleshoot installations of Jupyter or IPython
    N)AnyDictListOptionalUnioncmdreturnc              	   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   T/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/jupyter_core/troubleshoot.pysubs   s   
r   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    envexport	conda-env)	osenvirongetsysr   
executableversionr   r   )r!   r   r   r   get_data   s   




r*   c                  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
    _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packager   r   r   main0   sR   
r6   __main__)r   N)__doc__r$   r   r
   r'   typingr   r   r   r   r   strr   r*   r6   __name__r   r   r   r   <module>   s   "
<
