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