OSError: модуль [WinError 126] не найден - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь запустить порт MXNet SSD в python, но я сталкиваюсь со странной ошибкой, когда запускаю демонстрацию, говорящую

OSError: [WinError 126] The specified module could not be found

специально при попытке открыть libmxnet.dllпоэтому я обнаружил, когда пытался его отладить.

все сообщение об ошибке выглядит так:

>>>> kernel32
>>>>  C:\Users\wisdom\Anaconda3\envs\gpu-test\lib\site-packages\mxnet\libmxnet.dll
Traceback (most recent call last):
  File "demo.py", line 2, in <module>
    import tools.find_mxnet
  File "C:\Users\wisdom\Desktop\mxnet-ssd-master\tools\find_mxnet.py", line 6, in <module>
    import mxnet as mx
  File "C:\Users\wisdom\Anaconda3\envs\gpu-test\lib\site-packages\mxnet\__init__.py", line 24, in <module>
    from .context import Context, current_context, cpu, gpu, cpu_pinned
  File "C:\Users\wisdom\Anaconda3\envs\gpu-test\lib\site-packages\mxnet\context.py", line 24, in <module>
    from .base import classproperty, with_metaclass, _MXClassPropertyMetaClass
  File "C:\Users\wisdom\Anaconda3\envs\gpu-test\lib\site-packages\mxnet\base.py", line 213, in <module>
    _LIB = _load_lib()
  File "C:\Users\wisdom\Anaconda3\envs\gpu-test\lib\site-packages\mxnet\base.py", line 204, in _load_lib
    lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL)
  File "C:\Users\wisdom\Anaconda3\envs\gpu-test\lib\ctypes\__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

, где первые две строки со знаком >>>> указывают на строки, которые я пыталсяотладить и проверить, где / когда выдается ошибка в файле ...\ctypes\__init__.py, который выглядит следующим образом

if handle is None:
    x = (self._name)
    print('>>>>',x)
    self._handle = _dlopen(self._name, mode)

Я, конечно, проверил существование запрошенного файла libmxnet.dll, и он есть, но всякий раз, когда онназывается он выдает эту ошибку!

1 Ответ

0 голосов
/ 26 февраля 2019

Хорошо, наконец-то решено!

Я узнал, что такая ошибка может возникать, когда файловые зависимости не удовлетворены или не найдены.Таким образом, чтобы проверить зависимости, сначала перейдите в окно Visual Studio Prompt, а затем перейдите в папку, где существует libmxnet.dll и выполните следующую команду

dumpbin /dependents libmxnet.dll

, и она покажет вам списокнеобходимых файлов.

В моем случае не хватало некоторых nVidia GPU Computing Toolkit файлов Cuda 9.0, когда их запрашивал libmxnet.dll, и вместо этого у меня был набор инструментов версии 10.0!

...