Ошибка импорта для модуля blpapi

Это мой первый пост. Я запускаю следующее: Win 10 Anaconda с Python 3.6.5 Bloomberg Anywhere

Я пытаюсь использовать blpapi (профессиональный API Bloomberg) для Python. Скачал пакет Desktop API (с библиотеками C++), скачал файл blpapi-3.9.1-cp36-cp36m-win_amd64.whl установщика и успешно запустил его. Наконец, я добавил C:\..\C++API\v3.11.6.1\bin к моему пути как в переменных пользователя, так и в переменных среды (из более раннего запроса здесь, в stackoverflow): Python 2.7 с ошибкой импорта blpapi API Bloomberg

Мое сообщение об ошибке при запуске import blpapi:

>---------------------------------------------------------------------------
>ImportError                               Traceback (most recent call last)
>~\Anaconda3\lib\site-packages\blpapi\internals.py in swig_import_helper()
>     38         try:
>---> 39             return importlib.import_module(mname)
>     40         except ImportError:
>
>~\Anaconda3\lib\importlib\__init__.py in import_module(name, package)
>    125             level += 1
>--> 126     return _bootstrap._gcd_import(name[level:], package, level)
>    127 >>
>
>~\Anaconda3\lib\importlib\_bootstrap.py in _gcd_import(name, package, level)
>
>~\Anaconda3\lib\importlib\_bootstrap.py in _find_and_load(name, import_)
>
>~\Anaconda3\lib\importlib\_bootstrap.py in _find_and_load_unlocked(name, >import_)
>
>~\Anaconda3\lib\importlib\_bootstrap.py in _load_unlocked(spec)
>
>~\Anaconda3\lib\importlib\_bootstrap.py in module_from_spec(spec)
>
>~\Anaconda3\lib\importlib\_bootstrap_external.py in create_module(self, spec)
>
>~\Anaconda3\lib\importlib\_bootstrap.py in _call_with_frames_removed(f, *args, >**kwds)
>
>ImportError: DLL load failed: The specified module could not be found.
>
>During handling of the above exception, another exception occurred:
>
>ModuleNotFoundError                       Traceback (most recent call last)
>~\Anaconda3\lib\site-packages\blpapi\__init__.py in <module>()
>      3 try:
>----> 4     from .internals import CorrelationId
>      5 except ImportError as error:
>
>~\Anaconda3\lib\site-packages\blpapi\internals.py in <module>()
>     41             return importlib.import_module('_internals')
>---> 42     _internals = swig_import_helper()
>     43     del swig_import_helper
>
>~\Anaconda3\lib\site-packages\blpapi\internals.py in swig_import_helper()
>     40         except ImportError:
>---> 41             return importlib.import_module('_internals')
>     42     _internals = swig_import_helper()
>
>~\Anaconda3\lib\importlib\__init__.py in import_module(name, package)
>    125             level += 1
>--> 126     return _bootstrap._gcd_import(name[level:], package, level)
>    127 
>
>ModuleNotFoundError: No module named '_internals'
>
>During handling of the above exception, another exception occurred:
>
>ImportError                               Traceback (most recent call last)
><ipython-input-1-ee203a799ece> in <module>()
>----> 1 import blpapi
>
>~\Anaconda3\lib\site-packages\blpapi\__init__.py in <module>()
>     27 
>     28 """ % (str(error), env)
>---> 29     raise ImportError(msg)
>     30 
>     31 from .abstractsession import AbstractSession
>
>ImportError: No module named '_internals'
>
>Could not open the C++ SDK library.
>
>Download and install the latest C++ SDK from:
>
>    http://www.bloomberg.com/professional/api-library
>
>If the C++ SDK is already installed, please ensure that the path to the library
>was added to PATH before entering the interpreter.

Кто-нибудь знает, в чем может быть проблема?


person chmith    schedule 10.07.2018    source источник
comment
Вы пытались загрузить и установить последнюю версию C++ SDK?   -  person Levi Lesches    schedule 10.07.2018
comment
Спасибо - поддержка Bloomberg сказала мне, что их пакет API для настольных компьютеров будет всем, что мне нужно, так что нет. Но я рада стараться! Будет ли это весь пакет Visual Studio, который я должен скачать и установить?   -  person chmith    schedule 10.07.2018
comment
Я собирался сказать ссылку, которую они дали вам в ошибке: bloomberg.com/professional/api- библиотека   -  person Levi Lesches    schedule 10.07.2018
comment
Ах да, у меня есть. SDK, на который они ссылаются, уже является частью «пакета Desktop API», который я скачал. Я не уверен, есть ли другой способ изменить мой «путь»...   -  person chmith    schedule 10.07.2018
comment
Хм, извините, это все, что у меня есть. Я на самом деле не знаю / не использую это программное обеспечение, я просто капитан, очевидно   -  person Levi Lesches    schedule 10.07.2018
comment
Ладно, тем не менее спасибо   -  person chmith    schedule 10.07.2018


Ответы (2)


Имея точно такую ​​же проблему. Проблемы сопоставимости.

Решение для меня состояло в том, чтобы откатить версию Python до 3.7.7 64-разрядной.

from: 3.8.3 32-bit
to: 3.7.7 64-bit

BLPAPI работает, если версии совместимы, в противном случае они не работают.

DLL-файлы Bloomberg:

blpapi3_32.dll (version 3.14.3.1)
blpapi3_64.dll (version 3.14.3.1)

Это решило проблему.

person D.L    schedule 05.06.2020

Решено: я установил Microsoft Build Tools 2017 и добавил путь BLPAPI_ROOT, как описано в связанном вопросе в моем исходном сообщении.

person chmith    schedule 10.07.2018