Не удалось импортировать opencv в контейнер Windows (в Windows Server 2016)

Я запускаю следующий контейнер для тестирования моей среды opencv-python на Windows Server 2016.

docker run -i --rm python:2.7-windowsservercore

(python:2.7-windowsservercore изображение является официальным изображением Python, основанным на microsoft/windowsservercore)

и в интерактивной консоли я установил opencv-python:

pip install opencv-python

после этого я тестирую пакет opencv-python:

python -c "import cv2"

но я получил следующую ошибку:

Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\Python\lib\site-packages\cv2\__init__.py", line 9, in <module> from .cv2 import * ImportError: DLL load failed: The specified module could not be found.

затем я установил python-2.7.13 на хост (не внутри контейнера), ввел те же команды установки pip и протестировал python -c "import cv2" опять же, он не сообщит ни об одной ошибке. Интересно, если в контейнере отсутствуют какие-либо DLL-файлы? Какой пакет или программное обеспечение я должен установить в контейнере, чтобы исправить эту ошибку?

1 ответ

Основываясь на принятом ответе на этот вопрос, я бы положил деньги на вас, у которых нет необходимого времени выполнения MSVC. Предполагая, что он был скомпилирован с Visual Studio 2015, среду выполнения можно загрузить из распространяемого пакета Visual C++ для Visual Studio 2015

Я нашел решение в этом месте.

Скопируйте следующие файлы с вашего хоста в папку \System32 вашего контейнера:

  • msacm32.dll
  • avifil32.dll
  • avicap32.dll
  • msvfw32.dll
Другие вопросы по тегам