Сообщение об ошибке при импорте библиотеки tia для извлечения данных из Bloomberg

Я пытаюсь использовать библиотеку tia для извлечения данных Bloomberg непосредственно во фрейм данных, следуя этому потоку Как сохранить данные из API Bloomberg в фрейм данных Pandas?

теперь, когда я пытаюсь импортировать tia, используя приведенную ниже команду import tia.bbg.datamgr as dm

Я получаю это сообщение об ошибке

Traceback (most recent call last):
  File "/Users/prasadkamath/anaconda2/envs/Pk/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3319, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-17-7422282d1b65>", line 1, in <module>
    import tia.bbg.datamgr as dm
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/Users/prasadkamath/anaconda2/envs/Pk/lib/python3.6/site-packages/tia/bbg/__init__.py", line 1, in <module>
    from tia.bbg.v3api import *
  File "/Applications/PyCharm CE.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/Users/prasadkamath/anaconda2/envs/Pk/lib/python3.6/site-packages/tia/bbg/v3api.py", line 186
    print 'unhandled event: %s' % evt.EventType
                              ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('unhandled event: %s' % evt.EventType)?

Кто-нибудь понял, как мне это исправить?

спасибо


person TRex    schedule 17.03.2020    source источник


Ответы (1)


Вы работаете с Python 3. На данный момент TIA совместим только с Python 2.

Ошибка, которую вы видите, связана с тем, что в файлах TIA печать выполняется без круглых скобок, что соответствует стилю Python 2.

Здесь https://github.com/bpsmith/tia/issues/11 есть Преобразование Python 3. Я использовал это недавно, и это довольно хорошо.

person DMSTA    schedule 04.04.2020
comment
Кстати, @DMSTA У меня на Mac установлен python3.6, он работает нормально, и моя работа была обновлена ​​до версии 3.7. теперь я получаю другую ошибку: объект dict не имеет атрибута ititems. В этой строке отображается ошибка 433 overrides=','.join(['%s=%s' % (k, v) for k, v в self.overrides.items()])) есть идеи? tie работает на 3.7 или мне нужно перейти на 3.6? - person TRex; 06.04.2020
comment
Я бы открыл файл, на который он ссылается, и заменил dict.iteritems на dict.items, поскольку он был переименован в Python 3. Я предполагаю, что он не был обнаружен при преобразовании. Потенциально несколько других, но вам просто нужно просто отредактировать их вручную. - person DMSTA; 06.04.2020
comment
отлично спасибо - отлично работает! оцените вашу помощь еще раз! - person TRex; 07.04.2020
comment
Кстати, @DMSTA вы использовали функцию bbg под названием Bcountperiods, используя tia и blpapi? - person TRex; 08.04.2020
comment
Нет, сэр. У вас проблемы? - person DMSTA; 09.04.2020
comment
ну, я не уверен, как его использовать. Я могу использовать функции bdp и bdh, но не знаю, как использовать Bcountperiods - person TRex; 11.04.2020