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

运行Binance Python代码查BTCUSDT价格出现coroutine未await警告如何解决

问题产生原因
  • 你使用的是python-binance v3及以上版本的异步客户端,get_average_price属于异步协程方法,协程方法不能直接同步调用,必须通过await关键字等待执行,否则就会抛出coroutine was never awaited运行时警告,也无法正常获取返回结果。
  • 你代码中调用方法时的传参Symbol = 'BTCUSDT'参数名首字母大写,Binance接口要求的对应参数名为全小写的symbol,参数名错误即使解决异步问题也会触发接口报错。
解决方案

提供两种可行方案,可根据你的使用场景选择:

方案1:改用同步客户端(适合普通同步脚本场景,改动最小)

新版python-binance将同步客户端单独拆分到了binance.spot模块下,直接导入同步客户端调用即可:

from binance.spot import Spot
import My_API

# 初始化同步客户端
client = Spot(api_key=My_API.PKey, api_secret=My_API.Skey)
# 注意参数名为小写symbol
price = client.avg_price(symbol='BTCUSDT')
print(price)

方案2:按异步规范调用异步客户端(适合异步IO场景)

如果你需要使用异步逻辑,按照Python异步语法调整代码即可:

import asyncio
from binance.client import Client
import My_API

async def get_btc_avg_price():
    async with Client(api_key=My_API.PKey, api_secret=My_API.Skey) as client:
        # 异步方法需要加await调用
        price = await client.get_average_price(symbol='BTCUSDT')
        print(price)

if __name__ == "__main__":
    asyncio.run(get_btc_avg_price())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:36:04