codekingpro/portable-devtools
114k
1#!/usr/bin/env python3
2import os
3import sys
4import tempfile
5
6
7def run():
8 _path = os.getcwd()
9 os.chdir(tempfile.gettempdir())
10 print('------')
11 print(f'os.name={os.name!r}')
12 print('------')
13 print(f'sys.platform={sys.platform!r}')
14 print('------')
15 print('sys.version:')
16 print(sys.version)
17 print('------')
18 print('sys.prefix:')
19 print(sys.prefix)
20 print('------')
21 print(f"sys.path={':'.join(sys.path)!r}")
22 print('------')
23
24 try:
25 import numpy
26 has_newnumpy = 1
27 except ImportError as e:
28 print('Failed to import new numpy:', e)
29 has_newnumpy = 0
30
31 try:
32 from numpy.f2py import f2py2e
33 has_f2py2e = 1
34 except ImportError as e:
35 print('Failed to import f2py2e:', e)
36 has_f2py2e = 0
37
38 try:
39 import numpy.distutils
40 has_numpy_distutils = 2
41 except ImportError:
42 try:
43 import numpy_distutils
44 has_numpy_distutils = 1
45 except ImportError as e:
46 print('Failed to import numpy_distutils:', e)
47 has_numpy_distutils = 0
48
49 if has_newnumpy:
50 try:
51 print(f'Found new numpy version {numpy.__version__!r} in {numpy.__file__}')
52 except Exception as msg:
53 print('error:', msg)
54 print('------')
55
56 if has_f2py2e:
57 try:
58 print('Found f2py2e version %r in %s' %
59 (f2py2e.__version__.version, f2py2e.__file__))
60 except Exception as msg:
61 print('error:', msg)
62 print('------')
63
64 if has_numpy_distutils:
65 try:
66 if has_numpy_distutils == 2:
67 print('Found numpy.distutils version %r in %r' % (
68 numpy.distutils.__version__,
69 numpy.distutils.__file__))
70 else:
71 print('Found numpy_distutils version %r in %r' % (
72 numpy_distutils.numpy_distutils_version.numpy_distutils_version,
73 numpy_distutils.__file__))
74 print('------')
75 except Exception as msg:
76 print('error:', msg)
77 print('------')
78 try:
79 if has_numpy_distutils == 1:
80 print(
81 'Importing numpy_distutils.command.build_flib ...', end=' ')
82 import numpy_distutils.command.build_flib as build_flib
83 print('ok')
84 print('------')
85 try:
86 print(
87 'Checking availability of supported Fortran compilers:')
88 for compiler_class in build_flib.all_compilers:
89 compiler_class(verbose=1).is_available()
90 print('------')
91 except Exception as msg:
92 print('error:', msg)
93 print('------')
94 except Exception as msg:
95 print(
96 'error:', msg, '(ignore it, build_flib is obsolete for numpy.distutils 0.2.2 and up)')
97 print('------')
98 try:
99 if has_numpy_distutils == 2:
100 print('Importing numpy.distutils.fcompiler ...', end=' ')
101 import numpy.distutils.fcompiler as fcompiler
102 else:
103 print('Importing numpy_distutils.fcompiler ...', end=' ')
104 import numpy_distutils.fcompiler as fcompiler
105 print('ok')
106 print('------')
107 try:
108 print('Checking availability of supported Fortran compilers:')
109 fcompiler.show_fcompilers()
110 print('------')
111 except Exception as msg:
112 print('error:', msg)
113 print('------')
114 except Exception as msg:
115 print('error:', msg)
116 print('------')
117 try:
118 if has_numpy_distutils == 2:
119 print('Importing numpy.distutils.cpuinfo ...', end=' ')
120 from numpy.distutils.cpuinfo import cpuinfo
121 print('ok')
122 print('------')
123 else:
124 try:
125 print(
126 'Importing numpy_distutils.command.cpuinfo ...', end=' ')
127 from numpy_distutils.command.cpuinfo import cpuinfo
128 print('ok')
129 print('------')
130 except Exception as msg:
131 print('error:', msg, '(ignore it)')
132 print('Importing numpy_distutils.cpuinfo ...', end=' ')
133 from numpy_distutils.cpuinfo import cpuinfo
134 print('ok')
135 print('------')
136 cpu = cpuinfo()
137 print('CPU information:', end=' ')
138 for name in dir(cpuinfo):
139 if name[0] == '_' and name[1] != '_' and getattr(cpu, name[1:])():
140 print(name[1:], end=' ')
141 print('------')
142 except Exception as msg:
143 print('error:', msg)
144 print('------')
145 os.chdir(_path)
146
147
148if __name__ == "__main__":
149 run()
150 