首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在彭博API的python中安装blpapi错误

在彭博API的python中安装blpapi错误
EN

Stack Overflow用户
提问于 2018-10-19 17:47:21
回答 15查看 34.3K关注 0票数 10

我是彭博终端用户,并试图通过Python实现API的工作。

我在我的Windows764位计算机上安装了Python3.7.0 64位计算机,安装到:C:\Users\gp\AppData\Local\Programs\Python\Python37

我从彭博API库下载了C/C++支持的发行版(v3.8.18.1)。我将内容解压缩到C:\blp\API\cpp (我是终端用户,所以我已经拥有了C:\blp\API,并添加了一个新的文件夹"CPP")。

然后,我通过pip安装了Python,如本页底部所述:API库支持,并收到了一条Successfully installed blpapi-3.12.2消息。我注意到这个安装在C:\Users\gp\AppData\Local\Programs\Python\Python37\Lib\site-packages

在Idle中,我将导入,并得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\gp\AppData\Local\Programs\Python\Python37\lib\site-packages\blpapi\internals.py", line 39, in swig_import_helper
return importlib.import_module(mname)
  File "C:\Users\gp\AppData\Local\Programs\Python\Python37\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 670, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 583, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 1043, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed: The specified procedure could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\gp\AppData\Local\Programs\Python\Python37\lib\site-packages\blpapi\__init__.py", line 4, in <module>
from .internals import CorrelationId
  File "C:\Users\gp\AppData\Local\Programs\Python\Python37\lib\site-packages\blpapi\internals.py", line 42, in <module>
_internals = swig_import_helper()
  File "C:\Users\gp\AppData\Local\Programs\Python\Python37\lib\site-packages\blpapi\internals.py", line 41, in swig_import_helper
return importlib.import_module('_internals')
  File "C:\Users\gp\AppData\Local\Programs\Python\Python37\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_internals'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
import blpapi
  File "C:\Users\gp\AppData\Local\Programs\Python\Python37\lib\site-packages\blpapi\__init__.py", line 9, in <module>
raise debug_load_error(error)
ImportError: No module named '_internals'

Mismatch between C++ and Python SDK libraries.

Python SDK version    3.12.1
Found C++ SDK version 3.11.6.1

Download and install the latest C++ SDK from:

    http://www.bloomberg.com/professional/api-library

If a recent version of the C++ SDK is already installed, please ensure that the
path to the library is added to PATH before entering the interpreter.

我在这个网站上搜索了答案,并尝试如下:

  • 将系统属性中的“用户变量”和“系统变量”中的“路径”变量设置为:C:\blp\DAPI;C:\blp\DAPI\DDE;C:\blp\API\cpp;C:\blp\API\cpp\bin (DAPI和DDE文件夹已经存在)
  • 在系统属性中的“用户变量为gp”和“系统变量”中添加了“BLPAPI_ROOT”变量:C:\blp\API\cpp
  • 尝试将blpapi3_64.dll的副本从C:\blp\API\cpp\bin文件夹放置到C:\Users\gp\AppData\Local\Programs\Python\Python37\Lib\site-packages中,并尝试将其放置在子文件夹"blpapi“中,并将这些位置添加到上面提到的path变量中,但仍然无法工作。
  • 确保我下载了Visual构建工具2017

还有其他想法吗?

EN

回答 15

Stack Overflow用户

发布于 2018-11-15 16:15:22

不匹配的问题来自于您需要下载SDK的3.12版本。目前它相当于“实验版本”(而不是支持的版本!)你可以在这里找到:

https://www.bloomberg.com/professional/support/api-library/

其他评论:

  1. 我建议您通过彭博终端下载BloombergWindowsSDK,因为您也将获得python代码。
  2. 不需要使用系统路径,您可以将blpapi3_64.dll blpapi3_32.dll复制到与您的python代码所在的文件夹相同的文件夹中。
票数 9
EN

Stack Overflow用户

发布于 2019-01-14 17:15:27

我使用Python 3.7在Windows 10上使用的解决方案:

1/下载彭博实验C++ 3.12SDK从WAPI<GO>https://www.bloomberg.com/professional/support/api-library/

2/提取,查找lib文件夹,有四个文件,blpapi3_32.dllblpapi3_32.libblpapi3_64.dllblpapi3_64.lib

3/在windows中,我输入了where blpapi3_32.dll并用上面的新文件替换了所有这些位置。在我的例子中,至少是C:\blp\DAPIC:\Users\MyName\AppData\Local\Continuum\anaconda3\Library\bin\blpapi3_32.dll (您需要关闭彭博桌面,然后才能覆盖桌面应用程序使用的这些文件)

票数 4
EN

Stack Overflow用户

发布于 2019-01-05 12:28:16

问题是在C:\blp\DAPI和cpp文件夹中安装了相同的库(DLL文件)。但是,这些文件的版本并不相同,这就是出现错误消息的原因。一个简单的解决方法是将所有库从c:\lib\blpapi_cpp_3.12.2.1\lib文件夹复制并粘贴到C:\blp\DAPI中。这解决了问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52897576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档