Извините, я не могу дать вам подробности, потому что ваши настройки не идентичны моим, но я уверен, что мы можем помочь вам разобраться.
Во-первых, когда вы устанавливаете пакеты, такие как OpenCV они, как правило, создают каталог где-то с именем lib
, который содержит функции C / C ++, которые вы можете вызывать из этого пакета.Внутри этого каталога вы обычно находите «библиотеки общих объектов» , которые традиционно заканчиваются на «XXX.so» в macOS.Что еще более интересно, они также содержат подкаталог с именем site-packages
, который содержит привязки Python (ссылки).Итак, в моей системе, которая, вероятно, отличается от вашей, я могу найти все эти site-packages
каталоги с:
find / -type d -name site-packages 2>/dev/null
Пример вывода
/usr/local/lib/python3.7/site-packages
/usr/local/lib/python2.7/site-packages
...
...
/usr/local/Cellar/tbb/2018_U5/lib/python2.7/site-packages
/usr/local/Cellar/vips/8.6.5/lib/python3.7/site-packages
Надеюсь, вы видите, что /usr/local/lib/python3.7/site-packages
выглядит очень вероятным кандидатом на то, где должны быть все привязки Python v3.7 для OpenCV .
Хорошо, так что теперь мы знаем, как найтипривязки Python, мы должны сообщить Python эту информацию.Как?Что ж, нередко, Python просматривает переменную окружения, называемую PYTHONPATH
, чтобы найти свои вещи.Таким образом, используя наши навыки и суждения, мы должны объединить то, что мы нашли в первом шаге, с тем, что мы теперь знаем из второго шага.Итак, мы делаем:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.7/site-packages
И все должно работать.Все, что нам нужно сделать, это указать это в нашем профиле входа в систему (вероятно, $HOME/.profile
), и мы будем готовы к работе при каждом входе в систему.