Скажу сразу: установки для Python-2 и для Python-3 — отличаются.
Для Python-2 библиотека ONVIF так и называется. Вся установка сводится к команде:
# pip install onvif
Правда, я не это не проверял. Может это так, а может не так. Python-2 морально устарел, я им не пользуюсь уже давно.
Для Python-3 существует форк этой библиотеки, который называется несколько иначе. Репозиторий форка находится здесь:
https://github.com/FalkTannhaeuser/python-onvif-zeep
Сначала нужно клонировать репозиторий к себе на комп:
$ git clone https://github.com/FalkTannhaeuser/python-onvif-zeep.git
и зайти в его в директорий:
$ cd python-onvif-zeep/
В этом директории находится несколько других поддиректориев и несколько файлов.
Я настоятельно рекомендую ознакомится с файлом README.rst. В нём содержится много полезной информации. Правда, имеются некоторый «косячки», но об этом я расскажу чуть ниже.
Сейчас нужно выполнить инсталляцию. Инсталляция питоновских пакетов может быть быть произведена для всей системы (то есть для всех пользователей) или для одного пользователя.
В первом случае (для всех) нужно выполнить команду с правами root-а:
$ sudo pip3 install --upgrade onvif_zeep
или так:
# pip3 install --upgrade onvif_zeep
Название пакета пишетя через символ подчёркивания — onvif_zeep. У меня на компе символ подчёркивания не видно, поэтому команда смотрится так, как будто нужно инталлировать два пакета onvif и zeep. Это не так! Не ошибитесь!
Во втором случае — «только для себя любимого» сделайте так:
$ pip3 install --upgrade onvif_zeep
В первом случае (инсталляция для всех пользователей) файлы проекта будут размещены в директории:
/usr/local/lib/python3.7/
Во втором случае (для одного пользователя):
/home/alex/.local/lib/python3.7/
Здесь «alex» — это имя моей учётной записи. У вас, естественно, будет имя вашей учётной записи.
Зачем это нам надо? Ответ — затем, что в строке инициализации при подключении к onfiv требуется указать правильный путь к библиотекам. Этот момент как раз и не очень внятно оговорен в README.rst.
В общем, это всё! Инсталляция пакета ONVIF завершена.
Теперь можем попробовать с ним работать.