【问题标题】:Python 2.7 with Bloomberg API import blpapi failurePython 2.7 与 Bloomberg API 导入 blpapi 失败
【发布时间】:2014-08-10 15:11:40
【问题描述】:

这是我的开发环境:

  • 64 位 HP Pavilion 笔记本电脑上的 Windows 7
  • Python 2.7,32 位在 C:\python27 文件夹中
  • 开发环境是带有PyDev的Eclipse,但这似乎无关紧要,因为无论我使用Anaconda还是Notepad++都会遇到同样的故障。
  • Python 2.7 Binary Installer for Windows - 32-bit v3.5.3 在 Windows 中为 Python 设置环境路径后,BLPAPI 确实找到并安装到 C:\Python27 目录中,创建 C:\Python27\Lib\site-packages\blpapi

在我安装 32 位 Python 和 BLPAPI 之前,我尝试了 64 位 Python 2.7 和 64 位 BLPAPI 安装,但 64 位或 32 位的结果相同。

我的 Python 脚本在这一行失败:import blpapi

PyDev 产生这个错误代码:

Traceback (most recent call last):
  File "C:\Users\Greg\workspace2\Bloomberg\src\TestImport.py", line 1, in <module>
    import blpapi
  File "C:\Python27\lib\site-packages\blpapi\__init__.py", line 5, in <module>
    from .internals import CorrelationId
  File "C:\Python27\lib\site-packages\blpapi\internals.py", line 50, in <module>
    _internals = swig_import_helper()
  File "C:\Python27\lib\site-packages\blpapi\internals.py", line 46, in swig_import_helper
_mod = imp.load_module('_internals', fp, pathname, description)
ImportError: DLL load failed: The specified module could not be found.

【问题讨论】:

    标签: python eclipse python-2.7 bloomberg blpapi


    【解决方案1】:

    我遇到了类似的问题,并花了一些时间通过彭博帮助台解决问题。这是我学到的:

    ImportError 是 Bloomberg 无法找到“blpapi3_32.dll”DLL 文件的结果。该 DLL 文件可以位于 Bloomberg 的 C/C++ 库的 \bin 或 \lib 文件夹下,该文件夹与您获得 Python 可执行文件的位置相同。所以去下载那个库(写这篇文章的时候是v3.7.5.1),让你的系统的“路径”环境变量包含那个位置。这应该可以解决问题。

    PS您可以通过开始>右键单击“计算机”>属性>高级系统设置>高级(选项卡)>环境变量>在“系统变量”下查找“路径”变量来访问PATH变量。编辑此变量以包含 DLL 文件的位置,例如如果原始路径变量是“C:\Python27\Lib\site-packages\PyQt4”,那么新的路径变量应该是“C:\Python27\Lib\site-packages\PyQt4;C:\blp\API\blpapi_cpp_3. 7.5.1\bin"

    【讨论】:

    • 已解决。景安规则!
    【解决方案2】:

    请注意这篇文章,来自彭博社:

    为了让 python 脚本调用 Bloomberg API 函数, 作为 Bloomberg C++ SDK 的一部分分发的库必须是 可用于 Python 解释器。安装的第 3 步,上面, 提供此库的系统范围安装。 Linux/Solaris/*nix 没有系统范围安装的用户必须设置 LD_LIBRARY_PATH (或 Darwin/MacOS X 上的 DYLD_LIBRARY_PATH)环境变量 包括包含 blpapi3 共享库的目录。视窗 用户可能需要将 PATH 变量设置为包含 blpapi3_32.dll 或 blpapi3_64.dll。 (请注意,Windows 用户使用 安装的彭博终端软件已经有这些版本 PATH 中的库。)

    所以我所做的(与 Keng Onn 的回答非常相似)是:

    1. Download the C/C++ lib for Windows

    2. 从 blpapi_cpp_3.8.8.1.zip(或类似文件)中提取文件

    3. 从 bin 文件夹中复制 blpapi3_32.dll 并将其粘贴到安全的地方

    在我的例子中,我将它粘贴到 C:\Python27\Lib\site-packages\blpapi

    1. 将此路由添加到您的 Path 环境变量中

      • 单击“开始”/右键单击“计算机”/属性/高级系统设置/高级选项卡/环境变量

      • 双击“系统变量”列表下的“路径”

      • 添加分号 (;) 和如下所示的路径

    对我来说:C:\Python27\Lib\site-packages\blpapi

    现在它应该适合您。希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      我有同样的问题,更新彭博终端应用程序后简单地解决了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-29
        • 1970-01-01
        • 1970-01-01
        • 2015-04-01
        相关资源
        最近更新 更多