Numpy: Numpy 1.10.2 + MKL =クラッシュWindows

䜜成日 2016幎01月02日  Â·  30コメント  Â·  ゜ヌス: numpy/numpy

Anacondas Numpyを䜿甚しおいる堎合でも、ここにパッケヌゞされおいるものを䜿甚しおいる堎合
Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.

そしお

The procedure entry point mkl_aa_fw_get_max_memory could not be located in the dynamic link library C:\Program Files\Python 3.5\lib\site-packages\numpy\core\mkl_intel_thread.dll. 。

Numpy 1.9.2Python 3.3.5でテスト枈みは正垞に動䜜したすただし、ディレクトリに䞊蚘の.dllはありたせん。

ずりあえず、Numpy1.9にダりングレヌドしたした。 MKLに察しおテストしおいないこずは知っおいたすが、ヒントがあるかもしれたせん。

システム情報

>>> platform.platform()
'Windows-10.0.10586'

>>> sys.version
'3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)]'

>>> np.__version__
'1.10.2'

>>> np.show_config()
blas_opt_info:
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
lapack_mkl_info:
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt', 'mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
lapack_opt_info:
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt', 'mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
blas_mkl_info:
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
mkl_info:
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
openblas_lapack_info:
  NOT AVAILABLE
00 - Bug build

最も参考になるコメント

@cgohlkeこれらは私のWindowsディレクトリにあるDLLです

['System32\\libiomp5md.dll',
 'System32\\mkl_core.dll',
 'System32\\mkl_def.dll',
 'System32\\mkl_intel_thread.dll',
 'SysWOW64\\libiomp5md.dll',
 'SysWOW64\\mkl_core.dll',
 'SysWOW64\\mkl_intel_thread.dll',
 'SysWOW64\\mkl_p4.dll',
 'SysWOW64\\mkl_p4m.dll',
 'SysWOW64\\mkl_p4m3.dll',
 'SysWOW64\\mkl_p4p.dll']

Pythonを呌び出す前にSET PATH=; PATHをリセットしようずするずクラッシュしたすが、䞊蚘のDLLをWindowsディレクトリから完党に削陀するずクラッシュが停止したす。 パス先行問題@carlklのようです。

党おのコメント30件

うヌん、ここで䜕が起こっおいるのかわからない。 Intelはビルドにいく぀かの倉曎を加えたしたが、それらは関係しおいないず思いたす。 Python 3.5は、Windows䞊の新しいVSでコンパむルされおいるため、原因の可胜性がありたす。 @cgohlkeの考え

私はあなたの最善の策は再生噚を提䟛するこずだず思いたすこれを生成する「いく぀かの関数」は䜕ですかそしお@cgohlkeが答えをポップアップするか、Anacondaにバグを

「いく぀かの関数」に぀いおは申し蚳ありたせん-matplotlibを介しお間接的にクラッシュしたした。

これはたったく同じようにクラッシュしたす

A = np.arange(2*3).reshape(2,3).astype(np.float32)
B = np.arange(2*3*2731).reshape(2,3,2731).astype(np.int16)

np.dot(A, B)

ラップトップで最新の@cgohlkenumpy 1.10.2python-3.464ビットずpython-3.564ビットを䜿甚しお簡単なチェックを行いたした。

>>> np.show_config()
openblas_lapack_info:
  NOT AVAILABLE
lapack_mkl_info:
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt', 'mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
lapack_opt_info:
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt', 'mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
mkl_info:
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
blas_mkl_info:
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
blas_opt_info:
    include_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include']
    libraries = ['mkl_lapack95_lp64', 'mkl_blas95_lp64', 'mkl_rt']
    library_dirs = ['C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
>>> import numpy as np
>>> A = np.arange(2*3).reshape(2,3).astype(np.float32)
>>> B = np.arange(2*3*2731).reshape(2,3,2731).astype(np.int16)
>>> np.dot(A, B)
array([[[  13655.,   13658.,   13661., ...,   21839.,   21842.,   21845.],
        [  38234.,   38237.,   38240., ...,   46418.,   46421.,   46424.]],

       [[  38234.,   38246.,   38258., ...,   70970.,   70982.,   70994.],
        [ 136550.,  136562.,  136574., ...,  169286.,  169298.,  169310.]]], dtype=float32)

どちらも私にずっおは期埅どおりに機胜したす。

PATHどこかに間違ったバヌゞョンのmkl_intel_thread.dll芋぀かったため、゚ラヌIntel MKL FATAL ERROR: Cannot load mkl_intel_thread.dllが説明されたず思いたす。 numpy + MKLで行われるようにPATHを拡匵しおMKL DLLを芋぀けるこずは、別のMKLランタむムがシステムにむンストヌルされおいる堎合は脆匱です。

C\ Windows *ディレクトリにlibiomp5md.dllたたはmkl_*.dllファむルはありたすか

@cgohlke、numpyの+ MKLであなたは、導入された_init_numpy_mkl()远加するためにnumpy.coreにPATH 。

DLLの怜玢順序を倉曎するために、 https//gist.github.com/matham/f6a07f8fb5e403feb440から次のアプロヌチを怜蚎したしたか

参照
https://pytools.codeplex.com/workitem/1627 どこから来たのか
https://github.com/numpy/numpy/wiki/windows-dll-notes#python -dlls
http://stackoverflow.com/questions/23804438/find-library-in-ctypes

@cgohlkeこれらは私のWindowsディレクトリにあるDLLです

['System32\\libiomp5md.dll',
 'System32\\mkl_core.dll',
 'System32\\mkl_def.dll',
 'System32\\mkl_intel_thread.dll',
 'SysWOW64\\libiomp5md.dll',
 'SysWOW64\\mkl_core.dll',
 'SysWOW64\\mkl_intel_thread.dll',
 'SysWOW64\\mkl_p4.dll',
 'SysWOW64\\mkl_p4m.dll',
 'SysWOW64\\mkl_p4m3.dll',
 'SysWOW64\\mkl_p4p.dll']

Pythonを呌び出す前にSET PATH=; PATHをリセットしようずするずクラッシュしたすが、䞊蚘のDLLをWindowsディレクトリから完党に削陀するずクラッシュが停止したす。 パス先行問題@carlklのようです。

@ cgohlke 、numpy + MKLの__init__.pyテストするために次の倉曎を提案したす

def _init_numpy_mkl():
    # Numpy+MKL on Windows only
    import os
    import ctypes
    if os.name != 'nt':
        return
    # disable Intel Fortran default console event handler
    env = 'FOR_DISABLE_CONSOLE_CTRL_HANDLER'
    if env not in os.environ:
        os.environ[env] = '1'
    # extend DLL search order with numpy.core
    # See https://github.com/numpy/numpy/wiki/windows-dll-notes#python-dlls
    # and https://pytools.codeplex.com/workitem/1627
    try:
        _AddDllDirectory = ctypes.windll.kernel32.AddDllDirectory
        _AddDllDirectory.argtypes = [ctypes.c_wchar_p]
        # Needed to initialize AddDllDirectory modifications
        ctypes.windll.kernel32.SetDefaultDllDirectories(0x1000)
    except AttributeError:
        _AddDllDirectory = ctypes.windll.kernel32.SetDllDirectoryW
        _AddDllDirectory.argtypes = [ctypes.c_wchar_p]
    try:
        _core = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'core')
        _AddDllDirectory(_core)
    except Exception:
        pass

_init_numpy_mkl()
del _init_numpy_mkl

䞊蚘のDLLをWindowsディレクトリから完党に削陀するず、クラッシュが停止したす。

いい厄介払い。

numpy + MKLの__init__.pyテストするために、次の倉曎を提案したす

これは叀いシステムでは実際には機胜せず、さらに重芁なこずに、システムのDLL怜玢順序に䟝存するパッケヌゞが壊れたす。 AnacondaやWinPythonのようなディストリビュヌションでは受け入れられるかもしれたせん。

@carlklに郚分的にクレゞットされおいるAddDllDirectoryメ゜ッドを芋぀けたのは面癜いず思いたすが、その埌、䟋ずしお@carlklによっおここでの䜿甚法が提案され、行き着きたした。 numpyでAddDllDirectory怜玢するずきのサンプルコヌドの問題の䟋。 それは完党な円です...

ずにかく、これを䜿甚するこずを怜蚎しおいる他の人のために、行ctypes.windll.kernel32.SetDefaultDllDirectories(0x1000) およびその他のれロ以倖のフラグは、いく぀かのdllをロヌドするずきにImportError: DLL load failed: The parameter is incorrect䟋倖を匕き起こすこずに泚意したいず思いたした。 私にずっおは、mingw-w64mingwpyでビルドされた拡匵機胜でのみ発生したした。この拡匵機胜は、mingw-w64を䜿甚しおDebianでクロスコンパむルされたffmpegdllにリンクされおいたした。 しかし、それが原因かどうかはわかりたせん。

ただし、PythonはLoadLibraryExをLOAD_WITH_ALTERED_SEARCH_PATH LoadLibraryExのみ呌び出し、 LOAD_LIBRARY_SEARCH_USER_DIRSでは呌び出さないため、 SetDefaultDllDirectoriesもLOAD_LIBRARY_SEARCH_USER_DIRSで呌び出されない限り、 LoadLibraryExは、 AddDllDirectory远加されたディレクトリを怜玢したせん。 私にはこれを䜿甚するのは少し壊れやすいように思われるので、 os.environを䜿甚しおパスにdllディレクトリを远加するこずに戻るず思いたす。 しかし、この情報でwikiを曎新する必芁があるかどうか疑問に思いたすか

ずにかく、うたくいけば、これはそれほど遠くないトピックではありたせんでした。

@matham 、このコヌドスニペットは_zooba_にクレゞットされおいる必芁がありたす-https  //pytools.codeplex.com/workitem/1627を参照しおctypes.windll.kernel32.SetDefaultDllDirectories(0x1000)は、 LOAD_WITH_ALTERED_SEARCH_PATHでLoadLibraryExの動䜜を倉曎したせん。 random \ mtrand.pydがロヌドされた盎埌にMKL_INTEL_THREAD.DLLをロヌドするために䜿甚したLoadLibraryA _ without_ LOAD_WITH_ALTERED_SEARCH_PATH の動䜜を_うたくいけば_倉曎し、 MKL_RT.DLL MKL_INTEL_THREAD.DLL呌び出したす

python -c "import numpy"間に䟝存りォヌカヌからログを蚘録する

...
LoadLibraryExW("d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\random\mtrand.cp35-win_amd64.pyd", 0x0000000000000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "d:\devel\py\python-3.5.0.amd64\PYTHON35.DLL" at address 0x00000000587E7747.
Loaded "d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\random\MTRAND.CP35-WIN_AMD64.PYD" at address 0x000007FEF3310000.  Successfully hooked module.
DllMain(0x000007FEF3310000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\random\MTRAND.CP35-WIN_AMD64.PYD" called.
DllMain(0x000007FEF3310000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\random\MTRAND.CP35-WIN_AMD64.PYD" returned 1 (0x1).
LoadLibraryExW("d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\random\mtrand.cp35-win_amd64.pyd", 0x0000000000000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned 0x000007FEF3310000.
LoadLibraryA("d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\core\mkl_intel_thread.dll") called from "d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\core\MKL_RT.DLL" at address 0x000007FEE17C4772.
Loaded "d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\core\MKL_INTEL_THREAD.DLL" at address 0x000007FEE0520000.  Successfully hooked module.
Loaded "d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\core\MKL_CORE.DLL" at address 0x000007FEDEEC0000.  Successfully hooked module.
Loaded "d:\devel\py\python-3.5.0.amd64\lib\site-packages\numpy\core\LIBIOMP5MD.DLL" at address 0x000007FEE43E0000.  Successfully hooked module.
...

@carlkl trueですが、私はwikiを参照しおいたした (thanks to Steve Dower for the fragment, Carl Kleffner for finding it) 、これはあなただず思いたした:)

私が蚀及しおいた脆匱性は、䞀般に、そのフラグを蚭定するSetDefaultDllDirectories呌び出しず、ラむブラリが実際にロヌドされるずきに実行される他のコヌドが存圚する可胜性があるこずです。 たずえば、それ自䜓がSetDefaultDllDirectories呌び出すものを、おそらく倀0などでむンポヌトするず、埌でむンポヌトしたずきにdllが芋぀からなくなる可胜性がありたす。 すぐにむンポヌトすれば、ここでは問題にならないかもしれたせんが。

@cgohlke 、 numpy.core内の_init_numpy_mkl() numpy.coreぞの明瀺的なパス名でMKL_RT.DLL 、 MKL_INTEL_THREAD.DLL 、 MKL_CORE.DLLをプリロヌドするこずに䜕か問題がありたすか 他の必芁なMKLDLLの段階的なロヌドが機胜するかどうかはわかりたせんが。

@cgohlke 、

次のスニペットは、MKL DLLがWindowsシステムやIntelredistフォルダヌからではなくnumpy.coreからロヌドされるこずを保蚌したす。 DLLをロヌドする順序が重芁です。 少なくずも、Windows 7python-3.4ビットで動䜜したす。

def _init_numpy_mkl():
    # Numpy+MKL on Windows only
    import os
    import ctypes
    if os.name != 'nt':
        return
    # disable Intel Fortran default console event handler
    env = 'FOR_DISABLE_CONSOLE_CTRL_HANDLER'
    if env not in os.environ:
        os.environ[env] = '1'
    # preload MKL DLLs from numpy.core
    try:
        _core = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'core')
        for _dll in ('mkl_rt', 'libiomp5md', 'mkl_core', 'mkl_intel_thread', 
                     'libmmd', 'libifcoremd', 'libimalloc'):
            ctypes.cdll.LoadLibrary(os.path.join(_core,_dll))
    except Exception:
        pass

_init_numpy_mkl()
del _init_numpy_mkl

私は同じ問題を抱えおいお、danielgeierによっお瀺されおいるように、 C:\Windows\System32にむンストヌルされたmkl_intel_thread.dllたでさかのがりたした。
叀いバヌゞョンには、ずりわけmkl_aa_fw_get_max_memoryがありたせんでした。
䜜成時間は、Asio4allオヌディオドラむバヌのむンストヌルず䞀臎したした。 いく぀かのdllを削陀したものをアンむンストヌルした埌、再び機胜したしたsystem32のdllを自分で削陀するよりも優れおいたす。
ロヌルバックしおanacondaディストリビュヌションを曎新しおみたしたが、うたくいきたせんでした。 たた、Windowsでanacondaを䜿甚しおmklを無効にするこずもできたせんでした。

@ sebastian-schmidt、Windowsシステムフォルダヌに叀いMKL DLLがむンストヌルされおいる堎合でも、numpy / coreフォルダヌからのMKLDLLの明瀺的なロヌドが機胜する堎合は詊しおみおください。 䞊蚘を参照しおください https 

@carlkl 、スニペットをどこに远加する必芁がありたすか
テストずしお䜿甚したファむルhttps://gist.github.com/sebastian-schmidt/9bb97354b481750209fd3dac1e748d31に远加しようずしたしたが、機胜したせんでした。
結合されたパスは、ファむルを呌び出す堎所からの単なるサブディレクトリです。
Numpyモゞュヌルのinitに远加する必芁がありたすか

関数_init_numpy_mkl()は、 @ cgohlke numpy + mklホむヌルの䞀郚です。 __init__.pyファむルにありたす。 それは公匏のnumpy゜ヌスの䞀郚ではありたせん。

これがnumpy-1.10.4+mkl-cp34-none-win32.whlあるバヌゞョンです

def _init_numpy_mkl():
    # Numpy+MKL on Windows only
    import os
    if os.name != 'nt':
        return
    # disable Intel Fortran default console event handler
    env = 'FOR_DISABLE_CONSOLE_CTRL_HANDLER'
    if env not in os.environ:
        os.environ[env] = '1'
    # prepend the path of the Intel runtime DLLs to os.environ['PATH']
    try:
        path = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'core')
        if path not in os.environ.get('PATH', ''):
            os.environ['PATH'] = os.pathsep.join((path, os.environ.get('PATH', '')))
    except Exception:
        pass

_init_numpy_mkl()
del _init_numpy_mkl

この関数は、 numpy/coreフォルダヌをPATH環境に远加したす。 ただし、WindowsシステムフォルダヌにあるDLLは、PATHにあるDLLよりも優先されたす。 DLL地獄ぞようこそ。

この関数の代替バヌゞョンhttps://github.com/numpy/numpy/issues/6923#issuecomment-169073613は、 PATH環境を倉曎せずに、MKL DLLをnumpy/coreから正しい順序でロヌドしたす。 すべおのDLL名は、完党修食パス名を持぀明瀺的なファむル名ずしお指定されおいるため、Windowsシステムフォルダヌ内のDLLのシャドりむングで問題が発生するこずはないず思いたすが、これはテストしおいたせん。

ただし、このコヌドスニペットではフリヌズしたnumpyは気にしたせんでした。

Anacondaディストリビュヌションの_init_numpy_mkl()をお䜿いのバヌゞョンに倉曎したずころ、機胜したした windows/system32互換性のないdllを䜿甚。

聞いおよかった

_init_numpy_mklのコヌドは、@cgohlkeのnumpyの分垃の圌のresponibility䞋郚分です。
@cgohlke  https //github.com/numpy/numpy/issues/6923#issuecomment -169073613に関するコメントはあり

@ sebastian-schmidt、AddDllDirectoryたたはフォヌルバックずしおSetDllDirectoryWを䜿甚しおバヌゞョンをテストできたすか䞊蚘を参照しおください https 

@ carlkl 、AddDllDirectory / SetDllDirectoryWバヌゞョンも機胜したす。
テストは垞にdanielgeierによるnp.dot()䟋にすぎたせんでした。
ちなみに、mklラむブラリをむンストヌルする゜フトりェアはAmplitubeであり、Asio4allドラむバヌではありたせんでした。

私もこの問題をAmplitubeにさかのがりたした。

私が詊したずき䞡方のinitバヌゞョンでimport matplotlib.pyplot as plt゚ラヌが発生したした

---> 60 import matplotlib._png as _png
     61 ####################
     62 

ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

そこで、Anacondaの元のバヌゞョンに切り替えお、Amplitubeをアンむンストヌルしたたたにしたした。

@ sebastian-schmidt、少なくずも私にずっおはうたくいきたす。 numpy、scipy、matplotlib._pngのむンポヌトは、私のボックスでは問題なく機胜したす。

ただし、WindowsのシステムフォルダからMKL DLLを削陀するこずは、この皮の問題に察する最善の解決策のようです。

この問題を解決する時が来たしたか

こんにちは、みんな。 誰かがただこの問題を抱えおいる堎合に備えお。 numpy 1.12 + mklがあり、同じ問題が発生したした。 Amplitube 3をアンむンストヌルするず、すべおが機胜するようになりたした。

こんにちは、みんな、

@cgohlkeによっおここから最新のnumpy + mkl1.13パッケヌゞをむンストヌルし

Windows7でPython3.6.164ビットを䜿甚しおAnacondaを実行しおいたす。

その埌、このDLLの問題も発生したしたが、以前は同じサむトのv1.12で正垞に機胜しおいたした。

さらに、実際にはすべおのコヌドがJupyterノヌトブックで機胜したす。これはコン゜ヌルでのみ発生したす。

@carlklAnacondaフォルダヌで_init_numpy_mklを怜玢したしたが、この文字列を含むファむルが芋぀かりたせんnumpy/coreをPATH環境倉数に手動で远加しおも機胜したせんでした。

他に䜕か提案はありたすか

ありがずう。

skimageをむンポヌトするず、「mkl_intel_thread.dllを読み蟌めたせん」ずいう問題が発生したした。
Windows / system32にmkl_intel_thread.dllが芋぀からないので、@ cgohlkeが述べたように、そのフォルダヌ内のlibiomp5md.dllを削陀したした。動䜜したす。ありがずうございたす。 問題は私を䜕週間も悩たせおきたした。 ずにかく、私は他の人がこの問題に遭遇したこずがこれから助けを埗るこずができるこずを願っおいたす。 libiomp5md.dllを芋぀けおみおください、それは圹立぀かもしれたせん。

その堎合、windows / system32からMKLDLLを削陀しなくおも、 https //github.com/numpy/numpy/issues/6923#issuecomment-169073613が機胜するのでしょうか。 このスニペットは、远加のラむブラリをPATH環境倉数に枡したり、他のトリックを䜿甚したりするこずなく、numpy / coreフォルダヌに7぀すべおではないのMKLDLLをロヌドできるこずを瀺しおいたす。 これらの7぀のDLLを正しい順序でロヌドするこずが重芁です。 他のすべおの必芁なMKLDLLは、windows / system32フォルダヌではなくnumpy / coreから自動的にロヌドされたす。

これが考えられるすべおのシナリオで機胜するかどうかはただ䞍明です。 たずえば、凍結されたPythonアプリケヌション。 たた、Windows OSのバヌゞョンでは、DLLの読み蟌み動䜜が異なる堎合がありたす。

この倉皮をさらに調査するこずは私には有利であるように思われたす。

SetDefaultDllDirectoriesを行ったり来たりし、10229が远加し、11493が削陀したした。 私たちはこれでできる限り進んだず思いたす。 最良のオプションは、パスからmklの他のコピヌを削陀するこずです。

同意できない堎合は、再床開いおください。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡