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