This file defines a set of system_info classes for getting information about various resources (libraries, library directories, include directories, etc.) in the system. Usage:
info_dict = get_info(<name>)where <name> is a string 'atlas','x11','fftw','lapack','blas', 'lapack_src', 'blas_src', etc. For a complete list of allowed names, see the definition of get_info() function below.
Returned info_dict is a dictionary which is compatible with distutils.setup keyword arguments. If info_dict == {}, then the asked resource is not available (system_info could not find it).
Several *_info classes specify an environment variable to specify the locations of software. When setting the corresponding environment variable to 'None' then the software will be ignored, even when it is available in system.
system_info.verbosity - output the results to stdout if enabled.
The file 'site.cfg' is looked for in
The first one found is used to get system configuration options The format is that used by ConfigParser (i.e., Windows .INI style). The section ALL is not intended for general use.
Appropriate defaults are used if nothing is specified.
Only the first complete match is returned.
Currently, the following classes are available, along with their section names:
Numeric_info:Numeric _numpy_info:Numeric _pkg_config_info:None accelerate_info:accelerate agg2_info:agg2 amd_info:amd atlas_3_10_blas_info:atlas atlas_3_10_blas_threads_info:atlas atlas_3_10_info:atlas atlas_3_10_threads_info:atlas atlas_blas_info:atlas atlas_blas_threads_info:atlas atlas_info:atlas atlas_threads_info:atlas blas64__opt_info:ALL # usage recommended (general ILP64 BLAS, 64_ symbol suffix) blas_ilp64_opt_info:ALL # usage recommended (general ILP64 BLAS) blas_ilp64_plain_opt_info:ALL # usage recommended (general ILP64 BLAS, no symbol suffix) blas_info:blas blas_mkl_info:mkl blas_opt_info:ALL # usage recommended blas_src_info:blas_src blis_info:blis boost_python_info:boost_python dfftw_info:fftw dfftw_threads_info:fftw djbfft_info:djbfft f2py_info:ALL fft_opt_info:ALL fftw2_info:fftw fftw3_info:fftw3 fftw_info:fftw fftw_threads_info:fftw flame_info:flame freetype2_info:freetype2 gdk_2_info:gdk_2 gdk_info:gdk gdk_pixbuf_2_info:gdk_pixbuf_2 gdk_pixbuf_xlib_2_info:gdk_pixbuf_xlib_2 gdk_x11_2_info:gdk_x11_2 gtkp_2_info:gtkp_2 gtkp_x11_2_info:gtkp_x11_2 lapack64__opt_info:ALL # usage recommended (general ILP64 LAPACK, 64_ symbol suffix) lapack_atlas_3_10_info:atlas lapack_atlas_3_10_threads_info:atlas lapack_atlas_info:atlas lapack_atlas_threads_info:atlas lapack_ilp64_opt_info:ALL # usage recommended (general ILP64 LAPACK) lapack_ilp64_plain_opt_info:ALL # usage recommended (general ILP64 LAPACK, no symbol suffix) lapack_info:lapack lapack_mkl_info:mkl lapack_opt_info:ALL # usage recommended lapack_src_info:lapack_src mkl_info:mkl numarray_info:numarray numerix_info:numerix numpy_info:numpy openblas64__info:openblas64_ openblas64__lapack_info:openblas64_ openblas_clapack_info:openblas openblas_ilp64_info:openblas_ilp64 openblas_ilp64_lapack_info:openblas_ilp64 openblas_info:openblas openblas_lapack_info:openblas sfftw_info:fftw sfftw_threads_info:fftw system_info:ALL umfpack_info:umfpack wx_info:wx x11_info:x11 xft_info:xft
Note that blas_opt_info and lapack_opt_info honor the NPY_BLAS_ORDER and NPY_LAPACK_ORDER environment variables to determine the order in which specific BLAS and LAPACK libraries are searched for.
This search (or autodetection) can be bypassed by defining the environment variables NPY_BLAS_LIBS and NPY_LAPACK_LIBS, which should then contain the exact linker flags to use (language will be set to F77). Building against Netlib BLAS/LAPACK or stub files, in order to be able to switch BLAS and LAPACK implementations at runtime. If using this to build NumPy itself, it is recommended to also define NPY_CBLAS_LIBS (assuming your BLAS library has a CBLAS interface) to enable CBLAS usage for matrix multiplication (unoptimized otherwise).
[DEFAULT] # default section library_dirs = /usr/lib:/usr/local/lib:/opt/lib include_dirs = /usr/include:/usr/local/include:/opt/include src_dirs = /usr/local/src:/opt/src # search static libraries (.a) in preference to shared ones (.so) search_static_first = 0
[fftw] libraries = rfftw, fftw
[atlas] library_dirs = /usr/lib/3dnow:/usr/lib/3dnow/atlas # for overriding the names of the atlas libraries libraries = lapack, f77blas, cblas, atlas
[x11] library_dirs = /usr/X11R6/lib include_dirs = /usr/X11R6/include ----------
Note that the libraries key is the default setting for libraries.
Copyright 2002 Pearu Peterson all rights reserved, Pearu Peterson <pearu@cens.ioc.ee> Permission to use, modify, and distribute this software is given under the terms of the NumPy (BSD style) license. See LICENSE.txt that came with this distribution for specifics.
NO WARRANTY IS EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
Function | get_info |
No summary |
Function | get_standard_file |
No summary |
Variable | atlas_version_c_text |
Undocumented |
Variable | conda |
Undocumented |
Variable | conda_dir |
Undocumented |
Variable | default_include_dirs |
Undocumented |
Variable | default_lib_dirs |
Undocumented |
Variable | default_runtime_dirs |
Undocumented |
Variable | default_src_dirs |
Undocumented |
Variable | default_x11_include_dirs |
Undocumented |
Variable | default_x11_lib_dirs |
Undocumented |
Variable | global_compiler |
Undocumented |
Variable | inv_language_map |
Undocumented |
Variable | language_map |
Undocumented |
Variable | platform_bits |
Undocumented |
Variable | so_ext |
Undocumented |
Variable | specifier |
Undocumented |
Variable | vcpkg |
Undocumented |
Variable | vcpkg_dir |
Undocumented |
Variable | vcpkg_installed |
Undocumented |
Class | _ilp64_opt_info_mixin |
Undocumented |
Class | _numpy_info |
Undocumented |
Class | _pkg_config_info |
Undocumented |
Class | accelerate_info |
Undocumented |
Class | agg2_info |
Undocumented |
Class | AliasedOptionError |
Aliases entries in config files should not be existing. In section '{section}' we found multiple appearances of options {options}. |
Class | amd_info |
Undocumented |
Class | armpl_info |
Undocumented |
Class | atlas_3_10_blas_info |
Undocumented |
Class | atlas_3_10_blas_threads_info |
Undocumented |
Class | atlas_3_10_info |
Undocumented |
Class | atlas_3_10_threads_info |
Undocumented |
Class | atlas_blas_info |
Undocumented |
Class | atlas_blas_threads_info |
Undocumented |
Class | atlas_info |
Undocumented |
Class | atlas_threads_info |
Undocumented |
Class | AtlasNotFoundError |
No summary |
Class | blas64__opt_info |
Undocumented |
Class | blas_armpl_info |
Undocumented |
Class | blas_ilp64_opt_info |
Undocumented |
Class | blas_ilp64_plain_opt_info |
Undocumented |
Class | blas_info |
No class docstring; 0/3 class variable, 1/2 method documented |
Class | blas_mkl_info |
Undocumented |
Class | blas_opt_info |
Undocumented |
Class | blas_src_info |
Undocumented |
Class | BlasILP64NotFoundError |
64-bit Blas libraries not found. Known libraries in numpy/distutils/site.cfg file are: openblas64_, openblas_ilp64 |
Class | BlasNotFoundError |
No summary |
Class | BlasOptNotFoundError |
No summary |
Class | BlasSrcNotFoundError |
No summary |
Class | blis_info |
Undocumented |
Class | boost_python_info |
Undocumented |
Class | cblas_info |
Undocumented |
Class | dfftw_info |
Undocumented |
Class | dfftw_threads_info |
Undocumented |
Class | djbfft_info |
Undocumented |
Class | DJBFFTNotFoundError |
No summary |
Class | f2py_info |
Undocumented |
Class | fft_opt_info |
Undocumented |
Class | fftw2_info |
Undocumented |
Class | fftw3_armpl_info |
Undocumented |
Class | fftw3_info |
Undocumented |
Class | fftw_info |
No class docstring; 0/3 class variable, 1/2 method documented |
Class | fftw_threads_info |
Undocumented |
Class | FFTWNotFoundError |
No summary |
Class | flame_info |
Usage of libflame for LAPACK operations |
Class | FlameNotFoundError |
FLAME (http://www.cs.utexas.edu/~flame/web/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [flame]). |
Class | freetype2_info |
Undocumented |
Class | gdk_2_info |
Undocumented |
Class | gdk_info |
Undocumented |
Class | gdk_pixbuf_2_info |
Undocumented |
Class | gdk_pixbuf_xlib_2_info |
Undocumented |
Class | gdk_x11_2_info |
Undocumented |
Class | gtkp_2_info |
Undocumented |
Class | gtkp_x11_2_info |
Undocumented |
Class | lapack64__opt_info |
Undocumented |
Class | lapack_armpl_info |
Undocumented |
Class | lapack_atlas_3_10_info |
Undocumented |
Class | lapack_atlas_3_10_threads_info |
Undocumented |
Class | lapack_atlas_info |
Undocumented |
Class | lapack_atlas_threads_info |
Undocumented |
Class | lapack_ilp64_opt_info |
Undocumented |
Class | lapack_ilp64_plain_opt_info |
Undocumented |
Class | lapack_info |
Undocumented |
Class | lapack_mkl_info |
Undocumented |
Class | lapack_opt_info |
Undocumented |
Class | lapack_src_info |
Undocumented |
Class | LapackILP64NotFoundError |
64-bit Lapack libraries not found. Known libraries in numpy/distutils/site.cfg file are: openblas64_, openblas_ilp64 |
Class | LapackNotFoundError |
No summary |
Class | LapackSrcNotFoundError |
No summary |
Class | mkl_info |
Undocumented |
Class | NotFoundError |
Some third-party program or library is not found. |
Class | numarray_info |
Undocumented |
Class | Numeric_info |
Undocumented |
Class | NumericNotFoundError |
Numeric (https://www.numpy.org/) module not found. Get it from above location, install it, and retry setup.py. |
Class | numerix_info |
Undocumented |
Class | numpy_info |
Undocumented |
Class | openblas64__info |
Undocumented |
Class | openblas64__lapack_info |
Undocumented |
Class | openblas_clapack_info |
Undocumented |
Class | openblas_ilp64_info |
Undocumented |
Class | openblas_ilp64_lapack_info |
Undocumented |
Class | openblas_info |
Undocumented |
Class | openblas_lapack_info |
Undocumented |
Class | sfftw_info |
Undocumented |
Class | sfftw_threads_info |
Undocumented |
Class | system_info |
get_info() is the only public method. Don't use others. |
Class | umfpack_info |
Undocumented |
Class | UmfpackNotFoundError |
No summary |
Class | wx_info |
Undocumented |
Class | x11_info |
Undocumented |
Class | X11NotFoundError |
X11 libraries not found. |
Class | xft_info |
Undocumented |
Function | _c_string_literal |
Convert a python string into a literal suitable for inclusion into C code |
Function | _parse_env_order |
Parse an environment variable env by splitting with "," and only returning elements from base_order |
Function | add_system_root |
Add a package manager root to the include directories |
Function | combine_paths |
Return a list of existing paths composed by all combinations of items from arguments. |
Function | customized_ccompiler |
Undocumented |
Function | dict_append |
Undocumented |
Function | get_atlas_version |
Undocumented |
Function | libpaths |
Return a list of library paths valid on 32 or 64 bit systems. |
Function | parseCmdLine |
Undocumented |
Function | show_all |
Undocumented |
Variable | _bits |
Undocumented |
Variable | _cached_atlas_version |
Undocumented |
Variable | _include_dirs |
Undocumented |
Variable | _lib_dirs |
Undocumented |
Parse an environment variable env
by splitting with "," and only returning elements from base_order
This method will sequence the environment variable and check for their
individual elements in base_order
.
The items in the environment variable may be negated via '^item' or '!itema,itemb'. It must start with ^/! to negate all options.
ValueError: for mixed negated and non-negated orders or multiple negated orders
base_order
is returnedbase_order
Return a list of library paths valid on 32 or 64 bit systems.
is raised otherwise.
Examples:
Consider a list of directories >>> paths = ['/usr/X11R6/lib','/usr/X11/lib','/usr/lib']
For a 32-bit platform, this is already valid: >>> np.distutils.system_info.libpaths(paths,32) ['/usr/X11R6/lib', '/usr/X11/lib', '/usr/lib']
On 64 bits, we prepend the '64' postfix >>> np.distutils.system_info.libpaths(paths,64) ['/usr/X11R6/lib64', '/usr/X11R6/lib', '/usr/X11/lib64', '/usr/X11/lib', '/usr/lib64', '/usr/lib']