summaryrefslogtreecommitdiff
path: root/numpy/f2py/diagnose.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/f2py/diagnose.py')
-rw-r--r--numpy/f2py/diagnose.py166
1 files changed, 166 insertions, 0 deletions
diff --git a/numpy/f2py/diagnose.py b/numpy/f2py/diagnose.py
new file mode 100644
index 000000000..34784b39c
--- /dev/null
+++ b/numpy/f2py/diagnose.py
@@ -0,0 +1,166 @@
+#!/usr/bin/env python
+
+import os,sys,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 Numeric
+ has_Numeric = 1
+ except ImportError:
+ print 'Failed to import Numeric:',sys.exc_value
+ has_Numeric = 0
+ try:
+ import numarray
+ has_numarray = 1
+ except ImportError:
+ print 'Failed to import numarray:',sys.exc_value
+ has_numarray = 0
+ try:
+ import scipy.base
+ has_newscipy = 1
+ except ImportError:
+ print 'Failed to import new scipy:', sys.exc_value
+ has_newscipy = 0
+ try:
+ import f2py2e
+ has_f2py2e = 1
+ except ImportError:
+ print 'Failed to import f2py2e:',sys.exc_value
+ has_f2py2e = 0
+ try:
+ import scipy.distutils
+ has_scipy_distutils = 2
+ except ImportError:
+ try:
+ import scipy_distutils
+ has_scipy_distutils = 1
+ except ImportError:
+ print 'Failed to import scipy_distutils:',sys.exc_value
+ has_scipy_distutils = 0
+ if has_Numeric:
+ try:
+ print 'Found Numeric version %r in %s' % \
+ (Numeric.__version__,Numeric.__file__)
+ except Exception,msg:
+ print 'error:',msg
+ print '------'
+ if has_numarray:
+ try:
+ print 'Found numarray version %r in %s' % \
+ (numarray.__version__,numarray.__file__)
+ except Exception,msg:
+ print 'error:',msg
+ print '------'
+ if has_newscipy:
+ try:
+ print 'Found new scipy version %r in %s' % \
+ (scipy.__version__, scipy.__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_scipy_distutils:
+ try:
+ if has_scipy_distutils==2:
+ print 'Found scipy.distutils version %r in %r' % (\
+ scipy.distutils.__version__,
+ scipy.distutils.__file__)
+ else:
+ print 'Found scipy_distutils version %r in %r' % (\
+ scipy_distutils.scipy_distutils_version.scipy_distutils_version,
+ scipy_distutils.__file__)
+ print '------'
+ except Exception,msg:
+ print 'error:',msg
+ print '------'
+ try:
+ if has_scipy_distutils==1:
+ print 'Importing scipy_distutils.command.build_flib ...',
+ import scipy_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 scipy.distutils 0.2.2 and up)'
+ print '------'
+ try:
+ if has_scipy_distutils==2:
+ print 'Importing scipy.distutils.fcompiler ...',
+ import scipy.distutils.fcompiler as fcompiler
+ else:
+ print 'Importing scipy_distutils.fcompiler ...',
+ import scipy_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_scipy_distutils==2:
+ print 'Importing scipy.distutils.cpuinfo ...',
+ from scipy.distutils.cpuinfo import cpuinfo
+ print 'ok'
+ print '------'
+ else:
+ try:
+ print 'Importing scipy_distutils.command.cpuinfo ...',
+ from scipy_distutils.command.cpuinfo import cpuinfo
+ print 'ok'
+ print '------'
+ except Exception,msg:
+ print 'error:',msg,'(ignore it)'
+ print 'Importing scipy_distutils.cpuinfo ...',
+ from scipy_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()