Обновление топологии с Python 2 на 3

#streamparse

#анализ потока

Вопрос:

У меня была Streamparse топология, которая изначально была разработана с использованием Python 2 . Сейчас я пытаюсь обновить ее до, Python 3 используя 2to3 инструмент. Я также обновил ее Streamparse до 3.15.1 (не уверен, для какой версии топология была первоначально разработана). Когда я пытаюсь запустить свою топологию с помощью sparse run -d , я получаю следующую ошибку:

 AttributeError: 'ShellBoltSpec' object has no attribute 'componentId'
  

Я предполагаю, что это потому, что ShellBoltSpec класс изменился с Python 2 на Python 3 , но я понятия не имею, как это исправить. У кого-нибудь есть какие-либо предложения?

Ответ №1:

Независимо от 2to3, могло случиться так, что обновление Streamparse до версии 3.x.x нарушило обратную совместимость с предыдущей версией, с которой вы работали, если она была 2.x.x или ниже. Если это так, вам необходимо явно отредактировать свой код, чтобы он был совместим с Steamparse 3.x.x .