License: OTHER
import sys1from distutils.version import LooseVersion23if sys.version_info.major < 3 or sys.version_info.minor < 5:4print('[!] You are running an old version of Python. '5'This tutorial requires Python 3.5.')67sys.exit(1)89with open('requirements.txt') as f:10reqs = f.readlines()1112reqs = [(pkg, ver) for (pkg, _, ver) in13(req.split() for req in reqs if req.strip())]1415pkg_names = {16'jupyter-notebook': 'notebook',17'scikit-image': 'skimage',18}1920for (pkg, version_wanted) in reqs:21module_name = pkg_names.get(pkg, pkg)22try:23m = __import__(module_name)24status = '✓'25except ImportError as e:26m = None27if (pkg != 'numpy' and 'numpy' in str(e)):28status = '?'29version_installed = 'Needs NumPy'30else:31version_installed = 'Not installed'32status = 'X'3334if m is not None:35try:36version_installed = m.__version__37except AttributeError: # specific for ITK version38version_installed = m.Version.GetITKVersion()3940if LooseVersion(version_wanted) > LooseVersion(version_installed):41status = 'X'42print('[{}] {:<10} {}'.format(43status, pkg.ljust(16), version_installed)44)454647