o
    !wik                     @  st   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	 dd	d
Z
dddZdddZedkr8e  dS dS )zm
display environment information that is frequently
used to troubleshoot installations of Jupyter or IPython
    )annotationsN)AnyUnioncmdUnion[list[str], str]return
str | Nonec              	   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   V/home/ubuntu/sommelier/.venv/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!   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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   main2   sR   
r8   __main__)r   r   r   r   )r   r   )r   r,   )__doc__
__future__r   r%   r   r
   r(   typingr   r   r   r+   r8   __name__r   r   r   r   <module>   s   


<
