首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python版本3.9中的blpapi

python版本3.9中的blpapi
EN

Stack Overflow用户
提问于 2020-11-20 17:39:06
回答 2查看 2.1K关注 0票数 3

我正在尝试在python版本3.9中安装blpapi

为了记录在案,我可以使用标准设置并在本页底部运行pip命令来实现3.7和3.8的工作:

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

我需要做的唯一修改是:

3.7版:

代码语言:javascript
复制
py -3.7 -m pip install --index-url=https://bloomberg.bintray.com/pip/simple blpapi

3.8版:

代码语言:javascript
复制
py -3.8 -m pip install --index-url=https://bloomberg.bintray.com/pip/simple blpapi

对于3.9,我尝试了完全相同的方法,但这会引发一个错误:

代码语言:javascript
复制
py -3.9 -m pip install --index-url=https://bloomberg.bintray.com/pip/simple blpapi

这是一个错误:

代码语言:javascript
复制
Looking in indexes: https://bloomberg.bintray.com/pip/simple
Collecting blpapi
  Downloading https://bloomberg.bintray.com/pip/simple/blpapi/blpapi-3.15.2.tar.gz (229 kB)
     |████████████████████████████████| 229 kB 3.3 MB/s
    ERROR: Command errored out with exit status 1:
     command: 'C:\Python39\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\darren\\AppData\\Local\\Temp\\pip-install-ldwe3a4a\\blpapi\\setup.py'"'"'; __file__='"'"'C:\\Users\\darren\\AppData\\Local\\Temp\\pip-install-ldwe3a4a\\blpapi\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\darren\AppData\Local\Temp\pip-pip-egg-info-ehpqfebq'
         cwd: C:\Users\darren\AppData\Local\Temp\pip-install-ldwe3a4a\blpapi\
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\darren\AppData\Local\Temp\pip-install-ldwe3a4a\blpapi\setup.py", line 54, in <module>
        assert blpapiRoot or (blpapiIncludesVar and blpapiLibVar), \
    AssertionError: BLPAPI_ROOT (or BLPAPI_INCDIR/BLPAPI_LIBDIR) environment variable isn't defined
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

我试着为AssertionError: BLPAPI_ROOT (or BLPAPI_INCDIR/BLPAPI_LIBDIR) environment variable isn't defined寻找解决方案,但没有找到任何有效的解决方案,此时我陷入了困境。

以下是我的基本代码:

代码语言:javascript
复制
import os
import sys
#import xbbg

# check python version
if sys.version_info.major == 3:
    if sys.version_info.minor == 7:
        print('using version: 3.7')
        import blpapi

if sys.version_info.major == 3:
    if sys.version_info.minor == 8:
        print('using version: 3.8')
        with os.add_dll_directory('c:/blp/DAPI'):
            import blpapi


if sys.version_info >= (3,9):
    print('using version: 3.9')
    print('version 3.9 and above not working')
    sys.exit(0) # i added this to exit before the error message for v 3.9
    with os.add_dll_directory('c:/blp/DAPI'):
        import blpapi




x = 'hello world'
print(x)

有人能解决这个问题吗?

(理想情况下,让blpapi与所有版本一起工作)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-13 08:03:01

现在看来,它似乎得到了支持,而在编写本报告时,却没有:

我们支持Python2.7、3.6、3.7、3.8和3.9;32位和64位,适用于Windows、macOS和大多数版本的Linux。这些车轮现在与所需的C++ API捆绑在一起,并且不再需要单独的C++ API安装。

链接在这里:https://www.bloomberg.com/professional/support/api-library/

票数 1
EN

Stack Overflow用户

发布于 2020-11-20 18:00:13

根据勃拉皮文档,预构建的二进制文件仅适用于3.8Python版本。

导致此错误的原因是您强迫pip安装尚未发布或尚未发布的PythonVersion3.9的blapi binaries。如果没有指定该版本,pip将下载并安装最新的blapi binaries

(即) python -m pip install --index-url=https://bloomberg.bintray.com/pip/simple blpapi

谢谢您和快乐编码:)

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

https://stackoverflow.com/questions/64934242

复制
相关文章

相似问题

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