Как стать автором
Поиск
Написать публикацию
Обновить

Установка библиотеки BigARTM

Введение

В магистратуре я столкнулся с необходимостью работать с библиотекой BigARTM, которая позволяет определить тематику текстовых документов я пишу с помощью нее магистерскую диссертацию.

Зачем вообще нужна моя статья, если существует официальная документация BigARTM, в которой описан алгоритм установки данной библиотеки?

Вот оф. док. с алгоритмом установки под Windows.

Дело в том, что с помощью этого алгоритма невозможно установить данную библиотеку. По крайней мере, у меня не получилось это сделать я пытался пол года...

Также я столкнулся с тем, что я не один такой на просторах Интернета, у которого проблемы с ее установкой.

Прочитав многие форумы, собрав информацию в кучу и разложив ее "по полочкам", предлагаю вам мой алгоритм установки библиотеки BigARTM.

Почему Python?

С BigARTM удобно взаимодействовать, используя Python, поэтому установим BigARTM в среду разработки на Python я использую PyCharm.

Другие среды разработки я не проверял.

Порядок установки библиотеки BigARTM

Мой сетап:

  • Windows 10.

  • Версия Python 3.10.

Релиз библиотеки

  • Скачать с оф. github (https://github.com/bigartm/bigartm/tags) последний релиз библиотеки BigARTM (v.0.10.1).

  • Расположить его на диске С (но это скорей всего не обязательно).

  • Добавить bigartm/python в переменные среды PATH.

protoc

  • Скачать последнюю версию protoc под вашу ОС, который находится на странице релизов protobuf (https://github.com/protocolbuffers/protobuf/releases).

  • Расположить его на диске С (но это скорей всего не обязательно).

  • Добавить protoc/bin в переменные среды PATH.

protobuf

  • Не уходим с прошлой страницы (страницы релизов protobuf) и скачиваем оттуда zip-архив "source code" protobuf'а.

  • Расположить его на диске С (но это скорей всего не обязательно).

  • Добавить protobuf/python в переменные среды PATH.

  • В командной строке запустить setup.py protobuf'а (не protoc!) – protobuf/python/setup.py и запустить следующие команды:

  1. python setup.py build

  2. python setup.py install

  3. python setup.py test

setup.py BigARTM'а

В командной строке запустить setup.py BigARTM'а версии на pythonbigartm/python/setup.py и запустить следующие команды:

  1. python setup.py build

  2. python setup.py install

Тем самым, появится много файлов, среди которых будет message_pb2.py.

artm.dll

Почему-то не во всех релизах BigARTM есть файл artm.dll (без которого ничего не работает!).

Если его у вас нет (он лежит в папке bigartm/bin), то нам обязательно нужно его взять из другого релиза – он есть в v.0.9.0 (он есть там, где есть кнопка downloads рядом с релизом?).

  • Скачиваем данный релиз, берем из этого релиза папку bin и перемещаем ее в нашу папку bigartm (v.0.10.1).

  • bigartm/bin/artm.dll нужно добавить в переменную среды ARTM_SHARED_LIBRARY.

Виртуальное окружение

Добавить в ваш интерпретатор python (я использую PyCharm) путь до библиотек:

  • protobuf/python

  • bigartm/python

  • bigartm/bin/artm.dll

В Pycharm это делается в настройках проекта:

Перезагрузка компьютера

Обязательно нужно перезагрузить компьютер!


Проверка работоспособности библиотек

В качестве проверки работоспособности библиотек запустите следующий код:

import artm
print(artm.version())

Программа может попросить подгрузить некоторые библиотеки – установите их.

У вас будет стоять такая версия BigARTM, dll которой вы установили (откуда брали папку bin) – у меня v.0.9.0.

Резонный вопрос

Возможно вы спросите, а зачем тогда устанавливать BigARTM v.0.10.1, если можно установить сразу одну v.0.9.0, в которой есть (якобы) всё – и dll, и сама библиотека?

Затем! На самом деле, предыдущие версии какие-то сломанные, и в них есть ошибки в коде методов BigARTM (будто бы умышленные, но странные) – базовые команды банально не работают.

Я надеюсь, более новые версии библиотеки совместимы со старыми версиями :) Пока что проблем с этим не возникало.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.