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

Google Cloud Python Function迁移后触发str与int比较TypeError求助

问题根因

这个报错是由新旧部署的Google Cloud Function使用的ccxt版本不一致导致的:

  • 旧函数运行的是较早版本的ccxt,币安交易所的set_leverage方法自定义参数顺序为symbol在前、leverage在后,支持你现有写法
  • 新部署函数未锁定依赖版本,自动拉取了最新版ccxt,ccxt在更新统一API规范后,set_leverage方法的标准参数顺序调整为leverage在前、symbol在后,且移除了旧参数顺序的兼容逻辑。你把字符串类型的symbol传给了预期为整数的第一个参数(杠杆值),ccxt内部做杠杆数值范围校验时,就触发了字符串和整数比较的类型错误。
  • 本地运行无报错是因为你本地Python环境安装的ccxt版本和旧云函数一致,仍兼容旧写法。

解决步骤

  1. 固定依赖版本
    在你Cloud Function项目的requirements.txt文件中明确指定ccxt版本,和本地/旧函数使用的版本保持一致,避免每次部署拉取最新版本出现兼容问题,示例写法:
ccxt==3.1.60

你可以在本地终端执行pip show ccxt查看自己本地环境使用的具体版本号替换即可。

  1. 调整代码写法(适配新版cc规则)
    如果要使用新版ccxt,只需要调整set_leverage的参数顺序即可,同时无需手动传入第三个空字典,params参数默认为空字典,额外传空字典也可能在部分版本中触发校验异常,修改对应代码行为:
leverage = binance.set_leverage(new_leverage, symbol)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:27:03