1

Linux 上の Intel C++ および Intel MKL を使用して、Python 3 (64 ビット) 用に numpy をビルドしていました ( 3.11-1-amd64)。git からソースを取得しました。Linux 用の Intel C++ Composer XE 2013 もインストールしました。

これが私がやったことです:

  1. ソース フォルダに を作成し、site.cfgコンテンツを含む

    [mkl]
    library_dirs = /opt/intel/mkl/composer_xe_2013/lib/intel64
    include_dirs = /opt/intel/mkl/include
    mkl_libs = mkl_rt
    lapack_libs =
    
  2. をに変更しself.cc_exeましnumpy/distutils/intelccompiler.py'icc -O3 -g -fPIC -fp-model strict -fomit-frame-pointer -openmp -xhost'

  3. ライブラリ パスを追加しました。export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:/opt/intel/lib/intel64:$LD_LIBRARY_PATH

  4. 実行されたsudo python3 setup.py config --compiler=intel build_clib --compiler=intel build_ext --compiler=intel install

すべてが終了したら、python3andを起動しましimport numpyた。これにより、

    $ python3
    Python 3.3.2+ (default, Sep 18 2013, 11:58:01) 
    [GCC 4.8.1] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/local/lib/python3.3/dist-packages/numpy/__init__.py", line 159, in <module>
        from . import add_newdocs
      File "/usr/local/lib/python3.3/dist-packages/numpy/add_newdocs.py", line 13, in <module>
        from numpy.lib import add_newdoc
      File "/usr/local/lib/python3.3/dist-packages/numpy/lib/__init__.py", line 8, in <module>
        from .type_check import *
      File "/usr/local/lib/python3.3/dist-packages/numpy/lib/type_check.py", line 11, in <module>
        import numpy.core.numeric as _nx
      File "/usr/local/lib/python3.3/dist-packages/numpy/core/__init__.py", line 6, in <module>
        from . import multiarray
    ImportError: libimf.so: cannot open shared object file: No such file or directory

しかし、私はチェックしまし/opt/intel/lib/intel64た、ファイルはちょうどそこにあります。私は何かを逃しましたか?ありがとうございました。

4

1 に答える 1

0

これは、午後の大部分で私を夢中にさせました。どうやら scipy と sudo の間には悪い血が流れています。なし でそのコマンドを実行する必要がありますsudo。つまり、scipy ソース ディレクトリのアクセス許可を使用してインストール--prefix=/I/Have/write/permission/hereまたは変更すると、config-build 部分でエラーがスローされます。

于 2014-04-15T23:12:40.410 に答える