File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 88import logging
99import os
1010import pickle
11+ import platform
1112import re
1213import shutil
1314import sys
@@ -160,13 +161,21 @@ def _check_requirement(requirement_string): # type: (str) -> bool
160161
161162def _verify_compability (dir , verify_dependencies = False ): # type: (str, bool) -> None
162163 try :
164+ import packaging .specifiers
165+
163166 if sys .version_info >= (3 , 8 ):
164167 from importlib import metadata as importlib_metadata
165168 else :
166169 import importlib_metadata
167170
168171 dist = importlib_metadata .Distribution .at (dir )
169172
173+ py_ver = dist .metadata ['Requires-Python' ]
174+ if py_ver :
175+ py_spec = packaging .specifiers .Specifier (py_ver )
176+ if platform .python_version () in py_spec :
177+ raise InstallException ('Imcopatible python version, needed: {}' .format (py_ver ))
178+
170179 if verify_dependencies :
171180 for req in dist .metadata .get_all ('Requires-Dist' ) or []:
172181 if not _check_requirement (req ):
You can’t perform that action at this time.
0 commit comments