2
  • 操作系统:优胜美地 10.10.5
  • 使用 virtualenv,
  • .bashrc/.bash_profile/.profile 全部为空
  • 我已经简单地使用“make && make PREFIX=/usr/local/opt/openblas install”安装了openblas,这意味着它安装在/usr/local/opt/openblas
  • CUDA 和 CuDNN 均已安装并经过测试。

cd ~/测试

ls

numpy-1.10.4  OpenBLAS-0.2.15

export PATH="/opt/local/bin:/opt/local/sbin:/usr/local/Cellar/bin:/usr/local/bin:$PATH"

导出 PATH="/Developer/NVIDIA/CUDA-7.5/bin:$PATH"

导出 DYLD_LIBRARY_PATH="/Developer/NVIDIA/CUDA-7.5/lib:$DYLD_LIBRARY_PATH"

导出 LDFLAGS=-L/usr/local/opt/openblas/lib

导出 CPPFLAGS=-I/usr/local/opt/openblas/include

激活我的 virtualenv 后,说 env1:

(env1)~>cd ~/test/numpy-1.10.4

(env1)numpy-1.10.4>cat site.cfg

[openblas] 
libraries = openblas
library_dirs = /usr/local/opt/openblas/lib
include_dirs = /usr/local/opt/openblas/include
runtime_library_dirs = /usr/local/opt/openblas/lib

(env1)>python setup.py 配置

blas_opt_info:
blas_mkl_info:
  libraries mkl,vml,guide not found in         ['/Users/mac/.virtualenvs/env1/bin/../lib', '/usr/local/lib', '/usr/lib']
  NOT AVAILABLE
openblas_info:
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
language = c
define_macros = [('HAVE_CBLAS', None)]
runtime_library_dirs = ['/usr/local/opt/openblas/lib']
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
F2PY Version 2
lapack_opt_info:
openblas_lapack_info:
C compiler: cc
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/var
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/var/folders
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/var/folders/mz
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN
compile options: '-c'
cc: /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/source.c
/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/source.c:4:13: warning: implicit declaration of function 'zungqr_' is invalid in C99 [-Wimplicit-function-declaration]
            zungqr_();
            ^
1 warning generated.
cc /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/source.o -L/usr/local/opt/openblas/lib -lopenblas -o /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpvjuerN/a.out
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
running config

(env1)numpy-1.10.4>python setup.py build --fcompiler=gnu95

blas_opt_info:
blas_mkl_info:
  libraries mkl,vml,guide not found in ['/Users/mac/.virtualenvs/env1/bin/../lib', '/usr/local/lib', '/usr/lib']
  NOT AVAILABLE
openblas_info:
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
F2PY Version 2
lapack_opt_info:
openblas_lapack_info:
C compiler: cc
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/var
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/var/folders
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/var/folders/mz
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT
compile options: '-c'
cc: /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/source.c
/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/source.c:4:13: warning: implicit declaration of function 'zungqr_' is invalid in C99 [-Wimplicit-function-declaration]
            zungqr_();
            ^
1 warning generated.
cc /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/source.o -L/usr/local/opt/openblas/lib -lopenblas -o /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmptcMLMT/a.out
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building py_modules sources
building library "npymath" sources
customize Gnu95FCompiler
Found executable /usr/local/bin/gfortran
customize Gnu95FCompiler using config
C compiler: clang -fno-strict-aliasing -fno-common -dynamic -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'
clang: _configtest.c
clang _configtest.o -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
C compiler: clang -fno-strict-aliasing -fno-common -dynamic -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'
clang: _configtest.c
_configtest.c:1:5: warning: incompatible redeclaration of library function 'exp' [-Wincompatible-library-redeclaration]
int exp (void);
    ^
_configtest.c:1:5: note: 'exp' is a builtin with type 'double (double)'
1 warning generated.
clang _configtest.o -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
building library "npysort" sources
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private' to include_dirs.
None - nothing done with h_files = ['build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private/npy_partition.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private/npy_binsearch.h']
building extension "numpy.core._dummy" sources
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h' to sources.
executing numpy/core/code_generators/generate_numpy_api.py
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.h' to sources.
numpy.core - nothing done with h_files = ['build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.h']
building extension "numpy.core.multiarray" sources
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h' to sources.
executing numpy/core/code_generators/generate_numpy_api.py
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private' to include_dirs.
numpy.core - nothing done with h_files = ['build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private/templ_common.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.h']
building extension "numpy.core.umath" sources
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h' to sources.
executing numpy/core/code_generators/generate_ufunc_api.py
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__ufunc_api.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/umath' to include_dirs.
numpy.core - nothing done with h_files = ['build/src.macosx-10.10-x86_64-2.7/numpy/core/src/umath/funcs.inc', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/umath/simd.inc', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/umath/loops.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__ufunc_api.h']
building extension "numpy.core.umath_tests" sources
building extension "numpy.core.test_rational" sources
building extension "numpy.core.struct_ufunc_test" sources
building extension "numpy.core.multiarray_tests" sources
building extension "numpy.core.operand_flag_tests" sources
building extension "numpy.fft.fftpack_lite" sources
building extension "numpy.linalg.lapack_lite" sources
  adding 'numpy/linalg/lapack_litemodule.c' to sources.
  adding 'numpy/linalg/lapack_lite/python_xerbla.c' to sources.
building extension "numpy.linalg._umath_linalg" sources
  adding 'numpy/linalg/umath_linalg.c.src' to sources.
  adding 'numpy/linalg/lapack_lite/python_xerbla.c' to sources.
building extension "numpy.random.mtrand" sources
building data_files sources
build_src: building npy-pkg config files
running build_py
copying numpy/version.py -> build/lib.macosx-10.10-x86_64-2.7/numpy
copying build/src.macosx-10.10-x86_64-2.7/numpy/__config__.py -> build/lib.macosx-10.10-x86_64-2.7/numpy
copying build/src.macosx-10.10-x86_64-2.7/numpy/distutils/__config__.py -> build/lib.macosx-10.10-x86_64-2.7/numpy/distutils
running build_clib
customize UnixCCompiler
customize UnixCCompiler using build_clib
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
running build_scripts
  adding 'build/scripts.macosx-10.10-x86_64-2.7/f2py' to scripts

(env1)numpy-1.10.4>python setup.py 安装

Running from numpy source directory.
/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'test_suite'
  warnings.warn(msg)
blas_opt_info:
blas_mkl_info:
  libraries mkl,vml,guide not found in ['/Users/mac/.virtualenvs/env1/bin/../lib', '/usr/local/lib', '/usr/lib']
  NOT AVAILABLE
openblas_info:
/Users/mac/test/numpy-1.10.4/numpy/distutils/system_info.py:635: UserWarning: Specified path  is invalid.
  warnings.warn('Specified path %s is invalid.' % d)
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
F2PY Version 2
lapack_opt_info:
openblas_lapack_info:
C compiler: cc
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/var
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/var/folders
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/var/folders/mz
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T
creating /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW
compile options: '-c'
cc: /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/source.c
/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/source.c:4:13: warning: implicit declaration of function 'zungqr_' is invalid in C99 [-Wimplicit-function-declaration]
            zungqr_();
            ^
1 warning generated.
cc /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/source.o -L/usr/local/opt/openblas/lib -lopenblas -o /var/folders/mz/s14c1w0x3ql4_djr5s92pz9r0000gn/T/tmpgDbyyW/a.out
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
  FOUND:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'define_macros'
  warnings.warn(msg)
running install
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building py_modules sources
building library "npymath" sources
customize Gnu95FCompiler
Found executable /usr/local/bin/gfortran
customize Gnu95FCompiler
customize Gnu95FCompiler using config
C compiler: clang -fno-strict-aliasing -fno-common -dynamic -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'
clang: _configtest.c
clang _configtest.o -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
C compiler: clang -fno-strict-aliasing -fno-common -dynamic -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes
compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'
clang: _configtest.c
_configtest.c:1:5: warning: incompatible redeclaration of library function 'exp' [-Wincompatible-library-redeclaration]
int exp (void);
    ^
_configtest.c:1:5: note: 'exp' is a builtin with type 'double (double)'
1 warning generated.
clang _configtest.o -o _configtest
success!
removing: _configtest.c _configtest.o _configtest
building library "npysort" sources
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private' to include_dirs.
None - nothing done with h_files = ['build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private/npy_partition.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private/npy_binsearch.h']
building extension "numpy.core._dummy" sources
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h' to sources.
executing numpy/core/code_generators/generate_numpy_api.py
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.h' to sources.
numpy.core - nothing done with h_files = ['build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.h']
building extension "numpy.core.multiarray" sources
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h' to sources.
executing numpy/core/code_generators/generate_numpy_api.py
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private' to include_dirs.
numpy.core - nothing done with h_files = ['build/src.macosx-10.10-x86_64-2.7/numpy/core/src/private/templ_common.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__multiarray_api.h']
building extension "numpy.core.umath" sources
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h' to sources.
executing numpy/core/code_generators/generate_ufunc_api.py
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__ufunc_api.h' to sources.
  adding 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/umath' to include_dirs.
numpy.core - nothing done with h_files = ['build/src.macosx-10.10-x86_64-2.7/numpy/core/src/umath/funcs.inc', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/umath/simd.inc', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/src/umath/loops.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/config.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/_numpyconfig.h', 'build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__ufunc_api.h']
building extension "numpy.core.umath_tests" sources
building extension "numpy.core.test_rational" sources
building extension "numpy.core.struct_ufunc_test" sources
building extension "numpy.core.multiarray_tests" sources
building extension "numpy.core.operand_flag_tests" sources
building extension "numpy.fft.fftpack_lite" sources
building extension "numpy.linalg.lapack_lite" sources
  adding 'numpy/linalg/lapack_litemodule.c' to sources.
  adding 'numpy/linalg/lapack_lite/python_xerbla.c' to sources.
building extension "numpy.linalg._umath_linalg" sources
  adding 'numpy/linalg/umath_linalg.c.src' to sources.
  adding 'numpy/linalg/lapack_lite/python_xerbla.c' to sources.
building extension "numpy.random.mtrand" sources
building data_files sources
build_src: building npy-pkg config files
running build_py
copying numpy/version.py -> build/lib.macosx-10.10-x86_64-2.7/numpy
copying build/src.macosx-10.10-x86_64-2.7/numpy/__config__.py -> build/lib.macosx-10.10-x86_64-2.7/numpy
copying build/src.macosx-10.10-x86_64-2.7/numpy/distutils/__config__.py -> build/lib.macosx-10.10-x86_64-2.7/numpy/distutils
running build_clib
customize UnixCCompiler
customize UnixCCompiler using build_clib
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
running build_scripts
  adding 'build/scripts.macosx-10.10-x86_64-2.7/f2py' to scripts
running install_lib
copying build/lib.macosx-10.10-x86_64-2.7/numpy/__config__.py -> /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy
copying build/lib.macosx-10.10-x86_64-2.7/numpy/distutils/__config__.py -> /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/distutils
copying build/lib.macosx-10.10-x86_64-2.7/numpy/version.py -> /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy
byte-compiling /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/__config__.py to __config__.pyc
byte-compiling /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/distutils/__config__.py to __config__.pyc
byte-compiling /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/version.py to version.pyc
running install_scripts
changing mode of /Users/mac/.virtualenvs/env1/bin/f2py to 755
changing mode of /Users/mac/.virtualenvs/env1/bin/f2py2.7 to 755
running install_data
copying site.cfg -> /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/distutils/
copying build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/__ufunc_api.h -> /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/core/include/numpy
copying build/src.macosx-10.10-x86_64-2.7/numpy/core/include/numpy/ufunc_api.txt -> /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/core/include/numpy
copying build/src.macosx-10.10-x86_64-2.7/numpy/core/lib/npy-pkg-config/npymath.ini -> /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/core/lib/npy-pkg-config
copying build/src.macosx-10.10-x86_64-2.7/numpy/core/lib/npy-pkg-config/mlib.ini -> /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/core/lib/npy-pkg-config
running install_egg_info
Writing /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy-1.10.4-py2.7.egg-info
running install_clib

(env1)numpy-1.10.4>cd ~

(env1)~>python

Python 2.7.11 (default, Jan 23 2016, 00:33:41)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy;numpy.show_config()
lapack_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    define_macros = [('HAVE_CBLAS', None)]
    language = c
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
blas_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    define_macros = [('HAVE_CBLAS', None)]
    language = c
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
openblas_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    define_macros = [('HAVE_CBLAS', None)]
    language = c
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
openblas_lapack_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/opt/openblas/lib']
    define_macros = [('HAVE_CBLAS', None)]
    language = c
    runtime_library_dirs = ['/usr/local/opt/openblas/lib']
blas_mkl_info:
  NOT AVAILABLE
>>>Ctrl-D

(env1)~>otool -L ~/.virtualenvs/env1/lib/python2.7/site-packages/numpy/core/multiarray.so

/Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/core/multiarray.so:
    /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

=====================

那么问题是什么!!

为什么 numpy 仍然使用苹果的 Accelerate 框架而不是 openblas 构建?

如果我使用:

brew install numpy --with-openblas

一切都会好的,numpy.show_config() 和 otool 将显示它是针对 openblas 构建的,但是我需要确保在 virtualenv 中,brew install 不能保证它。

我已在此http://numpy-discussion.10968.n7.nabble.com/OpenBLAS-on-Mac-td36544.html中仔细阅读过, 但我仍然无法完成,我尝试重新创建 virtualenv 并且没有运气。

任何帮助将不胜感激!

4

1 回答 1

1

问题解决了,但我不知道如何,同样的过程:编译openblas:

make && make install

然后:

export PATH="/opt/local/bin:/opt/local/sbin:/usr/local/Cellar/bin:/usr/local/bin:$PATH"
export PATH="/Developer/NVIDIA/CUDA-7.5/bin:$PATH"
export DYLD_LIBRARY_PATH="/opt/OpenBLAS/lib:/Developer/NVIDIA/CUDA-7.5/lib:$DYLD_LIBRARY_PATH"
export LD_LIBRARY_PATH="/opt/OpenBLAS/lib:$LD_LIBRARY_PATH"
export LDFLAGS="-L/usr/local/opt/openssl/lib -L/opt/OpenBLAS/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include -I/opt/OpenBLAS/include"

然后:

vi numpy-1.10.4/site.cfg
[openblas]
libraries = openblas
library_dirs = /opt/OpenBLAS/lib
include_dirs = /opt/OpenBLAS/include
runtime_library_dirs = /opt/OpenBLAS/lib

然后使用:

python setup.py config
python setup.py build --fcompiler=gnu95
python setup.py install

otool -L /Users/mac/.virtualenvs/env1/lib/python2.7/site-packages/numpy/core/multiarray.so

multiarray.so:
/opt/OpenBLAS/lib/libopenblas_haswellp-r0.2.15.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

它只是可以!问题解决确认。也许是因为一些愚蠢的错误。

于 2016-02-21T16:54:39.320 回答