簡體   English   中英

python 3.9版中的blpapi

[英]blpapi in python version 3.9

我正在嘗試在 python 3.9 版中安裝 blpapi

作為記錄,我能夠使用標准設置並運行本頁底部的 pip 命令使 3.7 和 3.8 正常工作:

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

我需要做的唯一修改是:

對於 3.7 版:

py -3.7 -m pip install --index-url=https://bloomberg.bintray.com/pip/simple blpapi

對於 3.8 版:

py -3.8 -m pip install --index-url=https://bloomberg.bintray.com/pip/simple blpapi

我為3.9嘗試了完全相同的方法,但這會引發錯誤:

py -3.9 -m pip install --index-url=https://bloomberg.bintray.com/pip/simple blpapi

這是錯誤:

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解決方案AssertionError: BLPAPI_ROOT (or BLPAPI_INCDIR/BLPAPI_LIBDIR) environment variable isn't defined但沒有找到任何有效的方法,此時我卡住了。

這是我的基本代碼:

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於所有版本)。

根據blapi文檔,預構建的二進制文件僅適用於 3.8 及以下的 Python 版本。

該錯誤是因為您正在強制pip安裝尚未發布或尚未發布的 Python 3.9 版的blapi binaries 如果未指定版本, pip將下載並安裝最新的blapi binaries

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

謝謝你和快樂編碼:)

似乎現在支持它,而在撰寫問題時,它不是:

我們支持並提供適用於 Python 2.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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM