Coverage for /home/martinb/.local/share/virtualenvs/camcops/lib/python3.6/site-packages/statsmodels/tools/print_version.py : 3%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1#!/usr/bin/env python
2from functools import reduce
3import sys
4from os.path import dirname
7def safe_version(module, attr='__version__', *others):
8 if not isinstance(attr, list):
9 attr = [attr]
10 try:
11 return reduce(getattr, [module] + attr)
12 except AttributeError:
13 if others:
14 return safe_version(module, others[0], *others[1:])
15 return "Cannot detect version"
18def _show_versions_only():
19 print("\nINSTALLED VERSIONS")
20 print("------------------")
21 print("Python: %d.%d.%d.%s.%s" % sys.version_info[:])
22 try:
23 import os
24 (sysname, nodename, release, version, machine) = os.uname()
25 print("OS: %s %s %s %s" % (sysname, release, version, machine))
26 print("byteorder: %s" % sys.byteorder)
27 print("LC_ALL: %s" % os.environ.get('LC_ALL', "None"))
28 print("LANG: %s" % os.environ.get('LANG', "None"))
29 except:
30 pass
31 try:
32 import statsmodels
33 has_sm = True
34 except ImportError:
35 has_sm = False
37 print('\nstatsmodels\n===========\n')
38 if has_sm:
39 print('Installed: %s' % safe_version(statsmodels))
40 else:
41 print('Not installed')
43 print("\nRequired Dependencies\n=====================\n")
44 try:
45 import Cython
46 print("cython: %s" % safe_version(Cython))
47 except ImportError:
48 print("cython: Not installed")
50 try:
51 import numpy
52 print("numpy: %s" % safe_version(numpy, ['version', 'version']))
53 except ImportError:
54 print("numpy: Not installed")
56 try:
57 import scipy
58 print("scipy: %s" % safe_version(scipy, ['version', 'version']))
59 except ImportError:
60 print("scipy: Not installed")
62 try:
63 import pandas
64 print("pandas: %s" % safe_version(pandas))
65 except ImportError:
66 print("pandas: Not installed")
68 try:
69 import dateutil
70 print(" dateutil: %s" % safe_version(dateutil))
71 except ImportError:
72 print(" dateutil: not installed")
74 try:
75 import patsy
76 print("patsy: %s" % safe_version(patsy))
77 except ImportError:
78 print("patsy: Not installed")
80 print("\nOptional Dependencies\n=====================\n")
82 try:
83 import matplotlib as mpl
84 print("matplotlib: %s" % safe_version(mpl))
85 except ImportError:
86 print("matplotlib: Not installed")
88 try:
89 from cvxopt import info
90 print("cvxopt: %s" % safe_version(info, 'version'))
91 except ImportError:
92 print("cvxopt: Not installed")
94 try:
95 import joblib
96 print("joblib: %s " % (safe_version(joblib)))
97 except ImportError:
98 print("joblib: Not installed")
100 print("\nDeveloper Tools\n================\n")
102 try:
103 import IPython
104 print("IPython: %s" % safe_version(IPython))
105 except ImportError:
106 print("IPython: Not installed")
107 try:
108 import jinja2
109 print(" jinja2: %s" % safe_version(jinja2))
110 except ImportError:
111 print(" jinja2: Not installed")
113 try:
114 import sphinx
115 print("sphinx: %s" % safe_version(sphinx))
116 except ImportError:
117 print("sphinx: Not installed")
119 try:
120 import pygments
121 print(" pygments: %s" % safe_version(pygments))
122 except ImportError:
123 print(" pygments: Not installed")
125 try:
126 import pytest
127 print("pytest: %s (%s)" % (safe_version(pytest), dirname(pytest.__file__)))
128 except ImportError:
129 print("pytest: Not installed")
131 try:
132 import virtualenv
133 print("virtualenv: %s" % safe_version(virtualenv))
134 except ImportError:
135 print("virtualenv: Not installed")
137 print("\n")
140def show_versions(show_dirs=True):
141 """
142 List the versions of statsmodels and any installed dependencies
144 Parameters
145 ----------
146 show_dirs : bool
147 Flag indicating to show module locations
148 """
149 if not show_dirs:
150 _show_versions_only()
151 print("\nINSTALLED VERSIONS")
152 print("------------------")
153 print("Python: %d.%d.%d.%s.%s" % sys.version_info[:])
154 try:
155 import os
156 (sysname, nodename, release, version, machine) = os.uname()
157 print("OS: %s %s %s %s" % (sysname, release, version, machine))
158 print("byteorder: %s" % sys.byteorder)
159 print("LC_ALL: %s" % os.environ.get('LC_ALL', "None"))
160 print("LANG: %s" % os.environ.get('LANG', "None"))
161 except:
162 pass
164 try:
165 import statsmodels
166 has_sm = True
167 except ImportError:
168 has_sm = False
170 print('\nstatsmodels\n===========\n')
171 if has_sm:
172 print('Installed: %s (%s)' % (safe_version(statsmodels),
173 dirname(statsmodels.__file__)))
174 else:
175 print('Not installed')
177 print("\nRequired Dependencies\n=====================\n")
178 try:
179 import Cython
180 print("cython: %s (%s)" % (safe_version(Cython),
181 dirname(Cython.__file__)))
182 except ImportError:
183 print("cython: Not installed")
185 try:
186 import numpy
187 print("numpy: %s (%s)" % (safe_version(numpy, ['version', 'version']),
188 dirname(numpy.__file__)))
189 except ImportError:
190 print("numpy: Not installed")
192 try:
193 import scipy
194 print("scipy: %s (%s)" % (safe_version(scipy, ['version', 'version']),
195 dirname(scipy.__file__)))
196 except ImportError:
197 print("scipy: Not installed")
199 try:
200 import pandas
201 print("pandas: %s (%s)" % (safe_version(pandas, ['version', 'version'],
202 '__version__'),
203 dirname(pandas.__file__)))
204 except ImportError:
205 print("pandas: Not installed")
207 try:
208 import dateutil
209 print(" dateutil: %s (%s)" % (safe_version(dateutil),
210 dirname(dateutil.__file__)))
211 except ImportError:
212 print(" dateutil: not installed")
214 try:
215 import patsy
216 print("patsy: %s (%s)" % (safe_version(patsy),
217 dirname(patsy.__file__)))
218 except ImportError:
219 print("patsy: Not installed")
221 print("\nOptional Dependencies\n=====================\n")
223 try:
224 import matplotlib as mpl
225 print("matplotlib: %s (%s)" % (safe_version(mpl),
226 dirname(mpl.__file__)))
227 print(" backend: %s " % mpl.rcParams['backend'])
228 except ImportError:
229 print("matplotlib: Not installed")
231 try:
232 from cvxopt import info
233 print("cvxopt: %s (%s)" % (safe_version(info, 'version'),
234 dirname(info.__file__)))
235 except ImportError:
236 print("cvxopt: Not installed")
238 try:
239 import joblib
240 print("joblib: %s (%s)" % (safe_version(joblib),
241 dirname(joblib.__file__)))
242 except ImportError:
243 print("joblib: Not installed")
245 print("\nDeveloper Tools\n================\n")
247 try:
248 import IPython
249 print("IPython: %s (%s)" % (safe_version(IPython),
250 dirname(IPython.__file__)))
251 except ImportError:
252 print("IPython: Not installed")
253 try:
254 import jinja2
255 print(" jinja2: %s (%s)" % (safe_version(jinja2),
256 dirname(jinja2.__file__)))
257 except ImportError:
258 print(" jinja2: Not installed")
260 try:
261 import sphinx
262 print("sphinx: %s (%s)" % (safe_version(sphinx),
263 dirname(sphinx.__file__)))
264 except ImportError:
265 print("sphinx: Not installed")
267 try:
268 import pygments
269 print(" pygments: %s (%s)" % (safe_version(pygments),
270 dirname(pygments.__file__)))
271 except ImportError:
272 print(" pygments: Not installed")
274 try:
275 import pytest
276 print("pytest: %s (%s)" % (safe_version(pytest), dirname(pytest.__file__)))
277 except ImportError:
278 print("pytest: Not installed")
280 try:
281 import virtualenv
282 print("virtualenv: %s (%s)" % (safe_version(virtualenv),
283 dirname(virtualenv.__file__)))
284 except ImportError:
285 print("virtualenv: Not installed")
287 print("\n")
289if __name__ == "__main__":
290 show_versions()