微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

blpapi导入-“无法打开C ++ SDK库”-非常困惑

如何解决blpapi导入-“无法打开C ++ SDK库”-非常困惑

尝试使用Bloomberg python API设置PC。我遵循了说明的每个步骤,但是当我最终尝试“导入blpapi”时,始终会遇到问题。下面是日志。任何帮助将不胜感激。

在在线研究了数小时后,我已经执行了以下步骤:

  1. 将最新的c ++ api安装到c:\ blp \ cppapi目录
  2. 将c:\ blp \ cppapi \ lib,c \ blp \ cppapi \ bin和c:\ blp \ cppapi添加到路径
  3. 将env BLPAPI_ROOT设置为c:\ blp \ cppapi
  4. 我什至重新安装了彭博社。

仍然,我总是遇到相同的错误。看来我无法使python进入硬盘驱动器上的c ++ API目录...

谢谢!

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools>python
Python 3.8.5 (tags/v3.8.5:580fbb0,Jul 20 2020,15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help","copyright","credits" or "license" for more information.
>>> import blpapi
Traceback (most recent call last):
  File "C:\Users\frank\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\blpapi\internals.py",line 39,in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1520.0_x64__qbz5n2kfra8p0\lib\importlib\__init__.py",line 127,in import_module
    return _bootstrap._gcd_import(name[level:],package,level)
  File "<frozen importlib._bootstrap>",line 1014,in _gcd_import
  File "<frozen importlib._bootstrap>",line 991,in _find_and_load
  File "<frozen importlib._bootstrap>",line 973,in _find_and_load_unlocked
ModuleNotFoundError: No module named 'blpapi._internals'

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "C:\Users\frank\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\blpapi\__init__.py",line 6,in <module>
    from .internals import CorrelationId
  File "C:\Users\frank\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\blpapi\internals.py",line 42,in <module>
    _internals = swig_import_helper()
  File "C:\Users\frank\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\blpapi\internals.py",line 41,in swig_import_helper
    return importlib.import_module('_internals')
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1520.0_x64__qbz5n2kfra8p0\lib\importlib\__init__.py",level)
ModuleNotFoundError: No module named '_internals'

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
  File "C:\Users\frank\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages\blpapi\__init__.py",line 11,in <module>
    raise debug_load_error(error)
ImportError:
---------------------------- ENVIRONMENT -----------------------------
Platform: Windows-10-10.0.18362-SP0
Architecture: ('64bit','WindowsPE')
Python: 3.8.5 (tags/v3.8.5:580fbb0,15:57:54) [MSC v.1924 64 bit (AMD64)]
Python implementation: cpython

blpapi 64-bit will be loaded from: "C:\blp\cppapi\bin\blpapi3_64.dll"
blpapi 32-bit will be loaded from: "C:\blp\cppapi\bin\blpapi3_32.dll"
System PATH: (* marks locations where blpapi was found)
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x86"
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\CommonExtensions\Microsoft\Testwindow"
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\bin\Roslyn"
    "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86"
    "C:\Program Files (x86)\Windows Kits\10\bin\x86"
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\\MSBuild\15.0\bin"
    "C:\Windows\Microsoft.NET\Framework\v4.0.30319"
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\"
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\Tools\"
    "C:\Program Files (x86)\Common Files\Oracle\Java\javapath"
    "C:\WINDOWS\system32"
    "C:\WINDOWS"
    "C:\WINDOWS\System32\Wbem"
    "C:\blp\cppapi"
  * "C:\blp\cppapi\bin"
  * "C:\blp\cppapi\lib"
    "C:\WINDOWS\System32\WindowsPowerShell\v1.0\"
    "C:\WINDOWS\System32\OpenSSH\"
    "C:\Program Files (x86)\AOMEI Backupper"
  * "C:\blp\DAPI"
    "C:\Users\frank\AppData\Local\Microsoft\WindowsApps"
    "C:\blp\cppapi"
  * "C:\blp\cppapi\bin"
  * "C:\blp\cppapi\lib"
  * "C:\blp\DAPI"
    "C:\blp\DAPI\DDE"
    "C:\Program Files\JetBrains\PyCharm Community Edition 2020.2.1\bin"
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin"
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja"

blpapi package at: "C:\Users\frank\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\python38\site-packages"

Current directory: "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools"

----------------------------------------------------------------------
No module named '_versionhelper'

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.
>>>

解决方法

很高兴报告此问题。

原来,我正在运行 Python 3.8 ,但尚不支持。我必须降级到 3.7.9 ,然后切换到C ++ SDK的“实验版本”,才能正常工作。

希望这也可以帮助其他对此有所挣扎的人。

,

我建议您不要自己构建blpapi,二进制文件可通过conda频道在conda-forge中使用。

conda install -c conda-forge blpapi

python 3.8有一个build available,因此不确定您的问题是什么,但是可以构建。

,

现在支持Python 3.8,我可以使用它。

即使您具有Visual Studio 2017,也可能没有运行blpapi命令所需的组件。因此,请确保您具有以下组件。如果没有它们,请重新安装并专门选择它们:

  • C ++ / CLI支持
  • 用于桌面的VC ++ 2015.3 v14.00(v140)工具集
  • 用于x86和x64的Visual C ++ MFC
  • x86和x64的Visual C ++ ATL

如果这不是问题,则可以尝试将C ++ API \ lib中的.dll文件(在我的情况下为blpapi3_32.dll和blpapi3_64.dll)复制到C:\ windows \ system32,其中所有dll文件该系统使用。我不确定这是否是解决方案的一部分,但我也将C ++ API \ lib中的dll文件复制到C:\ blp \ DAPI中,用旧文件替换新文件以确保我拥有相同的dll。文件无处不在。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。