Проблемы при установке opencv 3.2 на python 3.6 - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь установить OpenCV 3.2 на удаленный сервер, используя мой терминал Ma c.

  • Когда я использую команду conda install -c menpo opencv3=3.2.0, она устанавливает, но импорт cv2 выдает ошибку:

File "<stdin>", line 1, in <module> ImportError: libpng12.so.0: cannot open shared object file: No such file or directory

И Я не уверен, где находится этот файл на моем удаленном сервере, я не смог найти нигде в моей виртуальной среде lib или удаленный сервер, где бы он был? Если у меня его нет, могу ли я установить его на свой ма c или удаленный сервер где-нибудь и поместить в мою виртуальную среду lib? Я пытался использовать sudo apt install libpng12-0, но мой удаленный сервер не использует файл sudoers.

Я также пробовал другие методы, такие как conda install opencv=3.2.0, conda install -c conda-forge opencv=3.2.0, conda install -c conda-forge opencv et c ... но они, кажется, не устанавливаются должным образом и дают мне ошибки.

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Установите все следующие пакеты в шаге 2 этой ссылки. Затем перезагрузите компьютер и попробуйте снова импортировать cv2.

В большинстве случаев на удаленной машине отсутствуют драйверы видео, такие как x-org et c или GUI, или визуальная поддержка PNG или JPEG et c. Так что такая проблема может возникнуть.

0 голосов
/ 06 марта 2020

Для меня в Ubuntu 19.10 у меня есть libpng16.so в /usr/lib/x86_64-linux-gnu/.

Я нашел, где это было, набрав locate libpng в терминале. Это более новая версия, поэтому она может вызывать у вас проблемы.

Без какой-либо информации на вашем удаленном сервере немного сложно предсказать, где это может быть. Вы можете найти его в /usr/lib/ или /usr/local/lib/. Вы также можете попробовать рабочий каталог (или исполняемый каталог, который еще не пробовал) в качестве быстрого и грязного решения. Если у вас нет прав администратора, возможно, стоит отправить электронное письмо / открыть тикет с кем-то, кто имеет, который может указать вам правильное направление (если вам нужно загрузить определенные c модули, чтобы получить эту версию библиотека в пути, и т. д. c).

Если вы храбры и глупы , вы также можете установить переменную LD_LIBRARY_PATH, чтобы включить любую папку, в которую вы помещаете библиотеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...