B
    nb\E
                 @   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)LooseVersionc             C   sR   y0ddl }ddl}| }|  |d|  W n tk
rD   Y nX 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.7/site-packages/spyder/requirements.pyshow_warning   s    r   c              C   s4   t t t tt j} | tjk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   sv   t dd} yBddl}| |j \}}|j}t|t|k rJtd|||f  W n$ tk
rp   td| d   Y nX dS )zCheck Qt binding requirements)ZPyQt5z5.5)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   sT   y2ddl } d}| j}t|t|kr0td|  W n tk
rN   td Y nX dS )z Check spyder-kernel requirement.r   Nz1.0.0z[Please check Spyder installation requirements:
spyder-kernels < 1.0 is required (found %s).zqFailed to import spyder-kernels.
Please check Spyder installation requirements:

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