You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装fyers-apiv3遇error C2039: 'ob_digit'非_longobject成员求助

解决安装fyers-apiv3时aiohttp编译报错的方案

问题本质

这个error C2039: 'ob_digit': is not a member of '_longobject'报错,核心原因是Python 3.11+对内部C API做了调整,移除了_longobject的ob_digit成员,而部分aiohttp依赖的底层C扩展库(如multidict、yarl)未适配该变更,导致编译失败。

具体解决步骤

  • 安装适配Python 3.11的稳定版依赖
    放弃测试版,直接安装aiohttp 3.9.0及以上正式版,同时强制更新依赖库到适配版本:

    pip install --upgrade pip
    pip install aiohttp>=3.9.0 multidict>=6.0.4 yarl>=1.9.2
    

    完成后再安装fyers-apiv3:

    pip install fyers-apiv3
    
  • 使用预编译wheel包跳过本地编译
    若本地编译环境存在问题,直接强制使用预编译好的wheel包:
    先卸载现有相关包:

    pip uninstall -y aiohttp multidict yarl
    

    然后执行以下命令安装,--only-binary :all:参数会让pip优先选择预编译包,无需本地编译:

    pip install aiohttp==3.9.0 --only-binary :all:
    pip install multidict==6.0.4 --only-binary :all:
    pip install yarl==1.9.2 --only-binary :all:
    

    之后再安装fyers-apiv3即可。

  • 修复本地C++编译环境
    确保安装了适配的Visual Studio构建工具:

    1. 打开Visual Studio Installer,安装「Desktop development with C++」工作负载,勾选「MSVC v143 - VS 2022 C++ x64/x86 build tools」和对应版本的Windows SDK
    2. 打开命令提示符,执行以下命令配置环境变量:
      set DISTUTILS_USE_SDK=1
      set MSSdk=1
      

    之后重新尝试安装操作。

  • 临时降级Python版本
    若上述方法均无效,可暂时降级到Python 3.10.x版本(该版本保留了ob_digit成员,不会触发编译错误):

    pyenv install 3.10.13
    pyenv local 3.10.13
    pip install fyers-apiv3
    

内容的提问来源于stack exchange,提问作者mona

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 09:07:32