a
    a|
                     @   sH   d Z ddlZddlmZ ddlmZ dd Zdd Zdd	 Z	d
d Z
dS )z0Module checking Spyder installation requirements    N)parse_versionc                 C   sP   z0ddl }ddl}| }|  |d|  W n tyB   Y n0 t| dS )z'Show warning using Tkinter if availabler   NZSpyder)TkintertkMessageBoxZTkZwithdrawZ	showerrorImportErrorRuntimeError)messager   r   root r	   2lib/python3.9/site-packages/spyder/requirements.pyshow_warning   s    r   c                  C   s4   t t t tt j} | tjvr0td|   dS )z-Check sys.path: is Spyder properly installed?zSpyder must be installed properly (e.g. from source: 'python setup.py install'),
or directory '%s' must be in PYTHONPATH environment variable.N)	ospabspathjoindirname__file__pardirsyspathr   )r   r	   r	   r
   
check_path   s
    
r   c                  C   st   t dd} zBddl}| |j \}}|j}t|t|k rJtd|||f  W n" tyn   td| d   Y n0 dS )zCheck Qt binding requirements)ZPyQt5z5.6)pyqt5r   NzNPlease check Spyder installation requirements:
%s %s+ is required (found v%s).zzFailed to import qtpy.
Please check Spyder installation requirements:

qtpy 1.2.0+ and
%s %s+

are required to run Spyder.r   )dictqtpyZAPIZPYQT_VERSIONr   r   r   )Zqt_infosr   Zpackage_namerequired_ver
actual_verr	   r	   r
   check_qt(   s    

r   c                  C   sR   z2ddl } d}| j}t|t|k r0td|  W n tyL   td Y n0 dS )z Check spyder-kernel requirement.r   Nz2.0.0z\Please check Spyder installation requirements:
spyder-kernels >= 2.0 is required (found %s).zrFailed to import spyder-kernels.
Please check Spyder installation requirements:

spyder-kernels >= 2.0 is required)spyder_kernels__version__r   r   r   )r   r   r   r	   r	   r
   check_spyder_kernels<   s    
r   )__doc__r   os.pathr   r   Zpkg_resourcesr   r   r   r   r   r	   r	   r	   r
   <module>   s   
