我是彭博终端用户,并试图通过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中,我将导入,并得到以下错误:
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文件夹已经存在)C:\blp\API\cppC:\blp\API\cpp\bin文件夹放置到C:\Users\gp\AppData\Local\Programs\Python\Python37\Lib\site-packages中,并尝试将其放置在子文件夹"blpapi“中,并将这些位置添加到上面提到的path变量中,但仍然无法工作。还有其他想法吗?
发布于 2018-11-15 16:15:22
不匹配的问题来自于您需要下载SDK的3.12版本。目前它相当于“实验版本”(而不是支持的版本!)你可以在这里找到:
https://www.bloomberg.com/professional/support/api-library/

其他评论:
blpapi3_64.dll blpapi3_32.dll复制到与您的python代码所在的文件夹相同的文件夹中。发布于 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.dll、blpapi3_32.lib、blpapi3_64.dll、blpapi3_64.lib。
3/在windows中,我输入了where blpapi3_32.dll并用上面的新文件替换了所有这些位置。在我的例子中,至少是C:\blp\DAPI和C:\Users\MyName\AppData\Local\Continuum\anaconda3\Library\bin\blpapi3_32.dll (您需要关闭彭博桌面,然后才能覆盖桌面应用程序使用的这些文件)
发布于 2019-01-05 12:28:16
问题是在C:\blp\DAPI和cpp文件夹中安装了相同的库(DLL文件)。但是,这些文件的版本并不相同,这就是出现错误消息的原因。一个简单的解决方法是将所有库从c:\lib\blpapi_cpp_3.12.2.1\lib文件夹复制并粘贴到C:\blp\DAPI中。这解决了问题。
https://stackoverflow.com/questions/52897576
复制相似问题