show()
Print information about various resources (libraries, library directories, include directories, etc.) in the system on which NumPy was built.
Classes specifying the information to be printed are defined in the numpy.distutils.system_info
module.
Information may include:
language
: language used to write the libraries (mostly C or f77)
libraries
: names of libraries found in the system
library_dirs
: directories containing the libraries
include_dirs
: directories containing library header files
src_dirs
: directories containing library source files
define_macros
: preprocessor macros used by distutils.setup
baseline
: minimum CPU features required
found
: dispatched features supported in the system
not found
: dispatched features that are not supported in the system
NumPy BLAS/LAPACK Installation Notes
Installing a numpy wheel ( pip install numpy
or force it via pip install numpy --only-binary :numpy: numpy
) includes an OpenBLAS implementation of the BLAS and LAPACK linear algebra APIs. In this case, library_dirs
reports the original build time configuration as compiled with gcc/gfortran; at run time the OpenBLAS library is in site-packages/numpy.libs/
(linux), or site-packages/numpy/.dylibs/
(macOS), or site-packages/numpy/.libs/
(windows).
Installing numpy from source ( pip install numpy --no-binary numpy
) searches for BLAS and LAPACK dynamic link libraries at build time as influenced by environment variables NPY_BLAS_LIBS, NPY_CBLAS_LIBS, and NPY_LAPACK_LIBS; or NPY_BLAS_ORDER and NPY_LAPACK_ORDER; or the optional file ~/.numpy-site.cfg
. NumPy remembers those locations and expects to load the same libraries at run-time. In NumPy 1.21+ on macOS, 'accelerate' (Apple's Accelerate BLAS library) is in the default build-time search order after 'openblas'.
Show libraries in the system on which NumPy was built.
get_include
Returns the directory containing NumPy C header files.
>>> import numpy as npSee :
... np.show_config() blas_opt_info: language = c define_macros = [('HAVE_CBLAS', None)] libraries = ['openblas', 'openblas'] library_dirs = ['/usr/local/lib']
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them