Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

📚 The CoCalc Library - books, templates and other resources

132928 views
License: OTHER
1
import sys
2
from distutils.version import LooseVersion
3
4
if sys.version_info.major < 3 or sys.version_info.minor < 5:
5
print('[!] You are running an old version of Python. '
6
'This tutorial requires Python 3.5.')
7
8
sys.exit(1)
9
10
with open('requirements.txt') as f:
11
reqs = f.readlines()
12
13
reqs = [(pkg, ver) for (pkg, _, ver) in
14
(req.split() for req in reqs if req.strip())]
15
16
pkg_names = {
17
'jupyter-notebook': 'notebook',
18
'scikit-image': 'skimage',
19
}
20
21
for (pkg, version_wanted) in reqs:
22
module_name = pkg_names.get(pkg, pkg)
23
try:
24
m = __import__(module_name)
25
status = '✓'
26
except ImportError as e:
27
m = None
28
if (pkg != 'numpy' and 'numpy' in str(e)):
29
status = '?'
30
version_installed = 'Needs NumPy'
31
else:
32
version_installed = 'Not installed'
33
status = 'X'
34
35
if m is not None:
36
try:
37
version_installed = m.__version__
38
except AttributeError: # specific for ITK version
39
version_installed = m.Version.GetITKVersion()
40
41
if LooseVersion(version_wanted) > LooseVersion(version_installed):
42
status = 'X'
43
print('[{}] {:<10} {}'.format(
44
status, pkg.ljust(16), version_installed)
45
)
46
47